15 project-planning entity-framework
我有三个项目(WCF项目,而不是客户端),我有一个数据库,现在我将如何使用EF?我应该创建第四个项目,它将具有db上下文和实体,然后在所有三个项目中添加对它的引用?或者我应该为每个项目设置一个单独的上下文,只需添加每个项目所需的表格?有些桌子到处都是用的.那么什么是最好的解决方案呢?
另一个问题:我应该在单独的项目中公开EF db上下文,以便其他项目可以访问它吗?就像是:
MySeparateProject myPr = new MySeparateProject();
using (var db = new myPr.DBContext())
{
// do stuff with entities
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
Myk*_*lis 20
我认为最干净的事情是创建一个只包含模型和数据库上下文的数据访问项目(类库),并引用来自所有其他项目的项目.
有些人会说你应该只使用模型创建一个类库,然后让另一个具有DbContext,并拥有存储库类,然后......我觉得这对大多数项目来说都是过度的.将模型和上下文放在一个地方只是让所有依赖项目在数据访问时始终保持同步非常容易.
这是我的典型项目结构:

在这里,Squelch.Data包含我的所有模型和db上下文,Squelch.Core包含核心业务逻辑,而我的两个"应用程序"(Squelch.Portal ad CdrImport),以及各种测试用例,都引用了这些基类库.
| 归档时间: |
|
| 查看次数: |
8848 次 |
| 最近记录: |