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
Asp.net mvc 如何更新DBContext&;数据库模式更改后的pocos?_Asp.net Mvc_Entity Framework_Ef Code First - Fatal编程技术网

Asp.net mvc 如何更新DBContext&;数据库模式更改后的pocos?

Asp.net mvc 如何更新DBContext&;数据库模式更改后的pocos?,asp.net-mvc,entity-framework,ef-code-first,Asp.net Mvc,Entity Framework,Ef Code First,我一直使用edmx文件方法,只是运行“从数据库更新”。现在我首先使用现有数据库中的代码 当DBA更改数据库模式时,如何更新dbcontext文件和POCO以匹配?这就是迁移的目的吗?我是否要删除models文件夹中的所有内容并重新创建?在EF中,“代码优先”有两种不同的含义。它既是一种建模工作流,也是一种映射样式。可以使用数据库优先建模进行代码优先映射。您只需在更改数据库后重新生成实体类型,或者手动更改它们以匹配数据库更改。这就是所谓的“先从现有数据库编写代码”我个人只需手动创建类,并根据需要编

我一直使用edmx文件方法,只是运行“从数据库更新”。现在我首先使用现有数据库中的代码


当DBA更改数据库模式时,如何更新dbcontext文件和POCO以匹配?这就是迁移的目的吗?我是否要删除models文件夹中的所有内容并重新创建?

在EF中,“代码优先”有两种不同的含义。它既是一种建模工作流,也是一种映射样式。可以使用数据库优先建模进行代码优先映射。您只需在更改数据库后重新生成实体类型,或者手动更改它们以匹配数据库更改。这就是所谓的“先从现有数据库编写代码”

我个人只需手动创建类,并根据需要编辑现有类。它被称为“代码优先”,因为通常你会先修改代码,然后相应地更新数据库。我想我已经习惯了数据库优先的方式。那么,如果我不能控制数据库,我是否应该先编写代码?“你只需在更改数据库后重新生成实体类型”我该如何做这部分?1.删除dbcontext文件,自动生成POCO,然后删除2。右键单击>添加ado实体内容>先从现有代码开始,等等?是的。或者把它们放到一个单独的项目中,然后转移到你的主项目中。很酷,谢谢。如果我不能控制数据库,那么先编写代码是个坏主意吗?不允许我更改架构。我切换到“代码优先”,因为edmx文件看起来总是那么大,而“代码优先”似乎“更轻”。这是我切换到现有数据库的唯一原因。代码优先是我最喜欢的使用EF的方式。您对“轻量级”非常了解,这是在EF Core中首先进行数据库建模的唯一方法。使用attributes/fluent/etc自定义对象和数据库之间的映射非常简单。EDMX映射非常复杂,不值得学习。