如何在c#中使用linq to sql在有两个列名的条件下编写更新查询
本文关键字:两个 查询 更新 条件下 linq sql to | 更新日期: 2023-09-27 18:14:44
我想更新sql中的一列。在where条件中有两个列名
下面是mu update query:
string sql = "UPDATE contact set ContactName=@ContactName where ContactID=@ContactId AND UserID=@Userid";
现在我想用linq写。如何使用linq编写上面的查询。请帮帮我。I tried
var updatequery = (from x in obj.Contacts where x.ContactID == ContactID select x).First();
updatequery.ContactName = ContactName;
obj.SubmitChanges();
但是在上面的查询中,条件只有一个列名。我想要where条件有两个列名。
您只需使用条件与运算符&&
:
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();
我不知道这是否有帮助,但你也可以试试这个。
var updatequery = obj.Contacts
.Where(x => x.ContactID == ContactID && x.SecondColumn == SecondValue)
.FirstOrDefault();
updatequery.ContactName = ContactName;
obj.SubmitChanges();