如何使用linq写入更新查询到sql中哪个条件在c#中有两个列名?

时间:2015-09-28 08:40:17

标签: c# asp.net linq-to-sql

我想更新sql.in中的一个列,其中有两个列名称。

下面是mu更新查询:

  string sql = "UPDATE contact set ContactName=@ContactName where ContactID=@ContactId AND UserID=@Userid";

现在我想用linq编写。如何使用linq.please帮我写上面的查询。我试过

  var updatequery = (from x in obj.Contacts where x.ContactID == ContactID select x).First();

                  updatequery.ContactName = ContactName;
                  obj.SubmitChanges();

但是在上面的查询中,条件只有一个列名。我想要有两个列名的条件。提前谢谢。

2 个答案:

答案 0 :(得分:3)

您只需使用conditional-AND operator &&

var updateContacts = from x in obj.Contacts 
                  where x.ContactID == ContactID && x.SecondColumn == SecondValue 
                  select x;

// now use First or a loop if you expect multiple
foreach(var contact in updateContacts)
    contact.ContactName = ContactName;
obj.SubmitChanges();

答案 1 :(得分:0)

我不知道这是否有帮助,但您也可以尝试一下。

var updatequery = obj.Contacts
              .Where(x => x.ContactID == ContactID && x.SecondColumn == SecondValue)
              .FirstOrDefault();
updatequery.ContactName = ContactName;
obj.SubmitChanges();