【发布时间】:2021-06-22 15:09:50
【问题描述】:
我有一个列名列表,我想动态更新表并将这些列的所有行设置为 NULL。当前代码使用if逻辑,当列列表发生变化时需要不断更新
var columns = new string[] {"FirstName","LastName"};
using(var scope = new TransactionScope())
{
foreach(var col in columns)
{
if(col == "FirstName")
{
dbContext.Users
.Where(x=>x.ParentID = 1234)
.Update(x=> new User()
{
FirstName = null
}
}
if(col == "LastName")
{
dbContext.Users
.Where(x=>x.ParentID = 1234)
.Update(x=> new User()
{
LastName = null
}
}
}
scope.Complete();
}
我还在使用Dynamic LINQ 和Z Framework 和EF 6。有没有办法动态更新表的某些列? (我也可以构造 sql 更新字符串作为 CommandText 执行,但我试图避免这种情况)
【问题讨论】:
标签: entity-framework-6 dynamic-linq entity-framework-plus entity-framework-extensions dynamic-linq-core