Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架6将所有记录的1个字段设置为给定值_C#_Entity Framework_Entity Framework 6 - Fatal编程技术网

C# 使用实体框架6将所有记录的1个字段设置为给定值

C# 使用实体框架6将所有记录的1个字段设置为给定值,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,假设我有一个表调用MyTable,带有一个位字段调用Del_flg,我想将MyTable中所有记录的Del_flg设置为true。在SQL Server中,可以使用以下查询轻松完成此操作: UPDATE MyTable SET [Del_flg] = 1 如何使用实体框架归档相同的结果?您可以使用DbContext.Database _myDbContext.Database.ExecuteSqlCommand("UPDATE MyTable SET [Del_flg] = 1"); 如果你

假设我有一个表调用MyTable,带有一个位字段调用Del_flg,我想将MyTable中所有记录的Del_flg设置为true。在SQL Server中,可以使用以下查询轻松完成此操作:

UPDATE MyTable SET [Del_flg] = 1
如何使用实体框架归档相同的结果?

您可以使用
DbContext.Database

_myDbContext.Database.ExecuteSqlCommand("UPDATE MyTable SET [Del_flg] = 1");

如果你只需要做一次(因为你的数据模型已经改变了),你应该考虑使用AN来设置这个值。

public partial class SetDeletedFlagTrue : DbMigration {
    public override void Up() {
        const string update = "UPDATE MyTable SET [Del_flg] = 1";
        Sql(update);
    }

    public override void Down() { /* ... */}
}

你想让LINQ查询更新表记录吗?你可以像这样使用EF.db.MyTable.foreach(x=>x.Del_flg=1)中的foreach循环。你可以尝试..你想使用EF将所有数据集Del_flg=1?@coderwill我已经尝试过你的解决方案,但我认为它应该是db.MyTable.ToList().foreach(x=>x.Del_flg=1)。另外,在执行更改之前,该命令是否会将所有记录拉入内存?很好!我尝试过ExecuteSqlCommand方法,它与在我的服务器上运行查询一样快。是的,使用ExecuteSqlCommand可以绕过大部分EF,直接进入服务器。缺点是查询是字符串,因此如果重命名数据模型的属性,则不会自动重构查询。