LinqToEntity -更新所有记录
本文关键字:记录 更新 LinqToEntity | 更新日期: 2023-09-27 18:09:37
我将只修改一个数据库表的所有记录中的一个属性,并且我不想物化所有记录(因为它是通过方法ToList()完成的,然后遍历实体集合,然后提交)。我使用EF (5.0, NET 4.0)和linq(因此LinqToEntity)。
我的意思是我想找到以下SQL语句的linq对应物:
UPDATE Table
SET Property='NewValue';
有可能吗?
可以在上下文中运行SQL代码,而不使用db。SaveChanges:
using(var db = new YourDbContext())
{
db.Database.ExecuteSqlCommand("UPDATE TABLE SET PROPERTY='NewValue'");
}
如果您需要参数化值,那么您也可以这样做:
db.Database.ExecuteSqlCommand("UPDATE TABLE SET PROPERTY=@Property",
new SqlParameter("@Property", someVariable));
您可以使用ExecuteSqlCommand:
contex.Database.ExecuteSqlCommand("UPATE Table SET Property = @p0", value)