如何使用EF创建包含相对实体(POCO)的单独项目,然后从单个项目访问它们

时间:2012-02-27 09:01:14

标签: entity-framework entity-framework-4 efpocoadapter

考虑一下我想开发一个大型企业应用程序。在我的应用程序中,我有几个模块,如:

采购,库存,账户,工资单,人力资源等。我将逐个开发这些模块。

我想创建一个由我的实体组成的类库项目,这意味着POCO。

创建实体有什么好处?

  1. 在单个项目中创建所有实体,或:
  2. 创建包含相关实体的单独项目。
  3. 如果我想创建一个包含相对实体的单独项目,那么如何创建它们以及如何集成它们?

2 个答案:

答案 0 :(得分:1)

我们目前正在使用这样的smth:几个具有自己实体的模块。每个模块都有自己的POCO类,可以依赖于“常用”类(例如用户或角色)。

可以在任何名称空间中声明Poco类。将poco类连接到Database的主要内容是DbContext类。您可以为单个数据库创建多个DbContexts(在我们的示例中为一个模块)。这个dbContexts可以有自己的pocos,并且可以使用来自其他上下文的任意数量的pocos(一个poco的DbSet字段应该只在一个DbContext中声明)。所有DbContexts都应使用相同的连接字符串。将自动创建所有表和依赖项。听起来很神奇。

询问您是否需要任何细节。

如果你有时间研究nopCommerce项目。他们实施了您感兴趣的内容。 http://nopcommerce.codeplex.com/

答案 1 :(得分:0)

如果是我,我会创建一个单一的概念模型(除非你需要在C#类库中单独发布'Purchase'和'自己的库存'等选项)。

然后我会将这个库导入您开发的每个单独的模块中。每个模块都应该能够毫无问题地访问您的模型项目,如果您需要在未来添加更多实体,您将只有一个地方可以去。