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# 实体框架-手动创建DB表然后创建模型可以吗?_C#_Entity Framework_Entity Framework 6 - Fatal编程技术网

C# 实体框架-手动创建DB表然后创建模型可以吗?

C# 实体框架-手动创建DB表然后创建模型可以吗?,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我刚刚开始完全掌握EF。我正在处理一个不使用数据库关系图或.edmx文件的现有项目,它只是定义了一个模型,然后将数据库作为上下文连接起来。我已经手动向数据库中添加了一些表,然后为其他表编写了模型。这是一种有效的方法吗?这给了我很多问题。什么是解决我试图解决的问题的好方法,可以使问题最少?我建议改用迁移系统。为数据库架构创建第一次初始迁移,该数据库架构对应于更改前的项目状态。然后将您的更改应用于模型,生成下一次迁移,该迁移将在您的更改和迁移的更改代码之后驱动数据库进入stage,以确保不会发生数据

我刚刚开始完全掌握EF。我正在处理一个不使用数据库关系图或.edmx文件的现有项目,它只是定义了一个模型,然后将数据库作为上下文连接起来。我已经手动向数据库中添加了一些表,然后为其他表编写了模型。这是一种有效的方法吗?这给了我很多问题。什么是解决我试图解决的问题的好方法,可以使问题最少?

我建议改用迁移系统。为数据库架构创建第一次初始迁移,该数据库架构对应于更改前的项目状态。然后将您的更改应用于模型,生成下一次迁移,该迁移将在您的更改和迁移的更改代码之后驱动数据库进入stage,以确保不会发生数据丢失。要使迁移能够工作,您需要在数据库中有u MigrationHistory表。要创建它并应用第一次迁移(这两种方式都不会改变任何东西,因为数据库模型应该完全对应于代码中的模型),您可以从初始迁移中删除所有代码,然后应用它。使用这种方法,您将只需要更改类,db模式将通过迁移而更改。

是的,当您不拥有db模式时,这是一种有效的方法,也是必要的。把你的一个“问题”作为问题贴出来。看看