我开始使用代码优先实现框架的方法,主要是为了让我可以在我的视图中使用注释来装饰我的属性(否则,现在我必须创建一个几乎与一个实体框架为我生成的,所以我可以添加注释,然后将数据从一个对象复制到下一个对象) .
现在看起来当我启动我的应用程序时,它正在尝试创建一个数据库 .
我不希望实体框架 ever 修改我的数据库 . 不,不是 . 唐't even try it. It really isn' t难以修改数据库;如果我自己这样做,我会感觉更舒服 . 在设计数据库时,我不需要一个框架来握住我的手 .
我可以告诉框架停止尝试修改我的数据库吗?我现在非常犹豫是否使用代码优先,因为它试图修改我的数据库是相当可怕的 . 即使在开发过程中,我也不希望看到它发生 .
我运气不好吗?
4 回答
如果您不希望EF创建数据库,则可以禁用数据库初始化程序:
见http://www.entityframeworktutorial.net/code-first/turn-off-database-initialization-in-code-first.aspx
如果您想使用EF但从不修改数据库,那么您可能不希望首先使用代码 . 你可能想要更像数据库的东西 .
http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx
回答评论链接:
http://automapper.codeplex.com/
Getting Started with AutoMapper
编辑:我误解了目标,you should reference this answer where the following correct code was given:
当您声明自己是初始化者时,请使用基类:
而不是 :
或者,如果您使用:
用以下内容替换:
由于code first几乎完全符合您的描述,我不明白您的问题 .
如果您不希望EF使用您的数据库,那么从现有数据库中generate a model .