C# 在生成DbContext之后,如何修改数据库?
现在,我已经通过以下方式从现有数据库生成了19个代码优先类:C# 在生成DbContext之后,如何修改数据库?,c#,asp.net-mvc,entity-framework,ef-code-first,dbcontext,C#,Asp.net Mvc,Entity Framework,Ef Code First,Dbcontext,现在,我已经通过以下方式从现有数据库生成了19个代码优先类: 首先创建一个模型实体,然后选择“从数据库生成” 右键单击并选择“添加代码生成项” EF 4.x DbContext生成器 我想要的所有类都已生成,我对它们非常满意 现在回答我的问题 为什么所有生成的.cs文件都嵌套在密封的.tt集合中 为什么我不能将它们复制粘贴到我喜欢的任何文件夹中,并像对待普通类一样对待它们 是因为我,还是因为这样做而无法使用迁移“更新数据库” 我想我的总体问题是,为什么它们位于.tt文件夹中? 现在我该如
- 首先创建一个模型实体,然后选择“从数据库生成”
- 右键单击并选择“添加代码生成项”
- EF 4.x DbContext生成器
- 为什么所有生成的.cs文件都嵌套在密封的.tt集合中
- 为什么我不能将它们复制粘贴到我喜欢的任何文件夹中,并像对待普通类一样对待它们
- 是因为我,还是因为这样做而无法使用迁移“更新数据库”
- 为什么所有生成的.cs文件都嵌套在密封的.tt集合中
- 为什么我不能将它们复制粘贴到我喜欢的任何文件夹中,并像对待普通类一样对待它们
- 是因为我,还是因为这样做而无法使用迁移“更新数据库”
您可以放弃代码生成部分,只使用纯代码优先的方法,现在您已经知道实体POCO应该是什么样子了。我以前尝试过T4代码生成(EF 4.1之前),但立即放弃了它,因为正如您所看到的,由于生成了entity和DbContext类,您将失去对面向对象模型的控制 我使用DB-first和Model-first的组合,并根据需要对它们进行更改。由于您已经在使用T4模板,如果您对数据库进行更改,然后“从数据库更新模型”,这些更改将(应该)反映在您的模型中,从而反映在T4生成的类中。根据我的需要,我有时会直接更改数据库(从而保留所有数据),或者更新模型,然后让它生成所有DLL-但是使用这种方法,在删除表时会丢失所有数据谢谢你们。但是是的,我可以采用纯代码优先的方法,现在我已经知道实体POCO应该是什么样子了。我不认为生成DbContext和所有类有什么意义,如果不能在Werds之后首先将其作为代码使用,那么为什么要生成它们(只需首先使用常规模型)?