通过LINQ
我想比较记录的ID =参数的ID
那么我想在同一条记录中设置或更新doc_id。
我在这里写了几行:
public void Fill_WF_Doc(string ID, int doc)
{
DataClasses1DataContext DB = new DataClasses1DataContext();
Waiting_Task entry = new Waiting_Task();
var c = from D in DB.Waiting_Tasks
where (D.WF_ID == ID)
select D.Doc_ID;
c = doc;
}
但是我有这个错误:
Cannot implicitly convert type 'int' to 'System.Linq.IQueryable'
有什么帮助吗?谢谢。
最佳答案
通过不对查询调用GetEnumerator
的调用,实际上并没有从数据库中检索任何内容。将查询换成()
并使用ToList()
,First()
,Single()
或其他查询来调用查询。
Waiting_Task entry = (from D in DB.Waiting_Tasks
where (D.WF_ID == ID)
select D).FirstOrDefault();
从那里仅返回Id,您将返回一个
int
,如果您要更新Entity,请使用select D
返回完整的对象I want set or update the doc_id in the same record.
从那里,您可以简单地更新值和
SubmitChanges()
以将更新后的值推回到数据库中。public void Fill_WF_Doc(string ID, int doc)
{
DataClasses1DataContext DB = new DataClasses1DataContext();
Waiting_Task entry = (from D in DB.Waiting_Tasks
where (D.WF_ID == ID)
select D).FirstOrDefault();
entry.Doc_ID = doc;
DB.SubmitChanges();
}
关于c# - 在LINQ中设置或更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7203781/