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



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

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

我想创建一个类库项目,该项目由我的实体组成,即POCO。

创建实体的良好做法是什么?

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

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

我们目前正在使用类似的smth:几个具有自己实体的模块。每个模块都有自己的POCO类,这些类可以依赖于"常用"类(例如,User或Role)。

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

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

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

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

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

相关内容

最新更新