[英]How do you modify your database after generating your DbContext?
现在我已经通过以下方式从现有数据库生成了19个代码优先类:
我想要的所有课程都已生成,我对他们非常满意......
现在我的问题
我想我的整体问题是,为什么它们位于.tt文件夹中? 我现在该如何更新我的数据库? 通过手动编辑数据库然后更新Model,然后再次生成dbContext? 或者是否有从.tt文件夹中获取.cs文件的技巧?
你如何修改你的数据库生成您的DbContext后?
- 为什么它们都是生成的.cs文件嵌套在密封的.tt集合中?
您的代码优先类不是代码优先类。 它们是根据您的数据库架构生成的。 因此,这是一种数据库优先的方法。 首先使用数据库,您的实体类将基于数据库生成。 换句话说,数据库首先出现,代码排在第二位 。 .tt文件是一个T4模板,它决定如何根据数据库生成类。 您可以更改数据库,然后重新生成实体类。
- 为什么我不能将它们复制粘贴到我喜欢的任何文件夹中,并像普通类一样对待它们?
因为它们是生成的文件,基于T4模板。
- 它只是我,或者当你这样做时,你是否无法使用迁移“update-database”?
这部分问题我无法回答肯定,而且必须推迟。 然而,在我看来,你想要混合和匹配方法。 听起来您希望首先根据数据库生成代码类,然后根据您添加到模型项目的新实体类更改数据库。 是对的吗?
您可以放弃代码生成部分,只需使用纯代码优先方法,现在您已了解实体POCO应该是什么样子。 我之前尝试过这个T4代码生成(在EF 4.1之前)并立即放弃它,因为正如您所见,由于生成了实体和DbContext类,您将无法控制面向对象的模型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.