Ali*_*avi 3 c# linq sql-server entity-framework
我知道更新一个模型在EF我必须得到模型然后更改它然后dbContext.SaveChanges()但有时在我的Asp.net mvc项目,我想更新我的表中的字段,我不知道它的ID并且必须使用where子句获取它.但我不希望连接两次到数据库,因为在ADO.net我可以写:
UPDATE MyTable SET Field3 = "NewValue" WHERE Active = 1
Run Code Online (Sandbox Code Playgroud)
现在我想写一个linq到sql for EF就像那样工作.存在任何方式吗?谢谢
你不能.EF是ORM,这意味着,您需要使用单独的对象(逐个更新它们).
//update all tasks with status of 1 to status of 2
context.Tasks
.Where(t => t.StatusId == 1)
.Update(t => new Task { StatusId = 2 });
Run Code Online (Sandbox Code Playgroud)
您可以使用EF中的原始查询功能。
var query = "UPDATE MyTable SET Field3 = 'NewValue' WHERE Active = 1";
using (var context = new YourContext())
{
context.Database.ExecuteSqlCommand(query);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5868 次 |
| 最近记录: |