无法多次指定命名参数“ArgName”

时间:2013-01-21 13:16:10

标签: simple.data

请问有人可以帮我解决上述问题吗?我在我的项目中使用SimpleData并尝试按如下方式更新记录,但得到上面提到的错误。

var releasedHosts = show_crm.tblName.Update(ID: Id, ID: newId);

错误讯息:

  

无法多次指定命名参数'ID'

谢谢。

代码段

string siteName = ddlDeleteSite.SelectedItem.Text;
if (!siteName.Equals("Unknown-Site") && siteName != null)
        {
            int siteId = Convert.ToInt32(ddlDeleteSite.SelectedValue);
            //Update record to Attach Hostname to selected site by updating it's SiteID and remove it from 'Unknown-Site'
            var updatedSite = show_crm.tblSites.UpdateBySiteID(SiteID: siteId, Deleted: true);
            if (updatedSite != null)
            {
                var unknownSite = show_crm.tblSites.FindBySiteName("Unknown-Site");
                int unknownSiteId = unknownSite.SiteID;
                var releasedHosts = show_crm.tblHostNames.Update(new { SiteID = unknownSiteId }, new { SiteID = siteId });//(show_crm.tblHostNames.SiteID == siteId, SiteID: unknownSiteId);
            }
            lblDeleteSiteStatus.Text = ddlDeleteSite.SelectedItem.Text + " deleted successfully.";
            lblDeleteSiteStatus.Visible = true;
            RetrieveSites(ddlDeleteSite);

        }

1 个答案:

答案 0 :(得分:1)

如果要使用列作为条件更新它,则必须使用更新的条件重载:

show_crm.tblName.UpdateAll(show_crm.tblName.ID == Id, ID: newId);

或者您可以指定两个对象作为执行乐观并发类型的条件:

show_crm.tblName.Update(new {ID = newId}, new {ID = Id});

在后一种形式中,第一个对象包含新值,第二个对象包含“原始”值。