【问题标题】:How can I create separate projects containing relative entities (POCOs) using EF and then access them from a single project如何使用 EF 创建包含相关实体 (POCO) 的单独项目,然后从单个项目中访问它们
【发布时间】:2012-02-27 09:01:13
【问题描述】:

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

采购、库存、账户、工资单、人力资源等。我将单独开发每个模块。

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

创建实体的最佳做法是什么?

  1. 在单个项目中创建所有实体,或者:
  2. 创建包含相关实体的单独项目。

如果我想创建一个包含相关实体的单独项目,那么如何创建它们以及如何集成它们?

【问题讨论】:

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


    【解决方案1】:

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

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

    询问您是否需要任何详细信息。

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

    【讨论】:

      【解决方案2】:

      如果是我,我会在 C# 类库中创建一个单一的概念模型(除非您需要自行发布“Purchase”和自行发布“Inventory”等选项)。

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

      【讨论】:

      • 感谢重播。如果我想在一个项目中创建所有实体,并且我有很多来自不同点的开发人员,那么我该如何整合它们。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多