【问题标题】:ASP.NET MVC - How to use code first and database first method in same project and with same contextASP.NET MVC - 如何在同一个项目和相同的上下文中使用代码优先和数据库优先方法
【发布时间】:2017-12-07 08:57:14
【问题描述】:
我有一个要求,我必须使用代码优先模式(我必须实现)以及数据库优先模式(存在于当前系统中)。
现在的条件是我不能为新表或我在数据库中所做的任何其他更改创建不同的上下文,但必须从 DB first 模式维护当前上下文。是否可以在共享相同上下文的同一个项目中先创建代码和先创建数据库?我必须管理.edmx 文件还是只能从代码优先模式处理数据库?管理TransactionScope 也是如此。
我需要一些建议。
【问题讨论】:
标签:
asp.net-mvc
entity-framework
ef-code-first
transactionscope
ef-database-first
【解决方案1】:
我从上述问题中学到了一些东西。
- 代码优先和数据库优先不能使用相同的上下文。
- 要在同一个项目中使用代码优先和数据库优先,上下文必须不同且与 ConnectionString 无关。 (可以使用现有的 ConnectionString 或新建一个)
- 同时使用两种模式并不是一个好习惯,但如果情况需要,那就别无选择了。因此,终于可以先从数据库为代码创建 POCO 类,这样它就很有用了。
- TransactionScope 与数据库连接数无关,都能正常工作。
如果我遗漏了什么,请添加它,以便其他人有更好的想法,或者他们至少可以节省时间。