Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在我们的解决方案中,实体框架放在哪里?_C#_Entity Framework_Entity Framework 4_Data Access Layer_Self Tracking Entities - Fatal编程技术网

C# 在我们的解决方案中,实体框架放在哪里?

C# 在我们的解决方案中,实体框架放在哪里?,c#,entity-framework,entity-framework-4,data-access-layer,self-tracking-entities,C#,Entity Framework,Entity Framework 4,Data Access Layer,Self Tracking Entities,好的,我们有一个包含以下项目的解决方案: 业务逻辑 实体 数据访问 公用事业 单元测试 用户界面 它是一个非常大的企业级应用程序。我的问题是,我们把实体框架放在哪里?一方面,EF似乎是一种数据访问技术,应该纳入DataAccess项目。但另一方面,它生成自己的实体,这些实体应该放在我们已经很大的实体项目中 哪个项目更适合实体框架 是否可以从EF中的持久性逻辑中拆分实体?将EDMX文件放置到DataAccess。为实体添加T4模板,并将其从DataAccess移动到实体(您可能需要在模板中修改

好的,我们有一个包含以下项目的解决方案:

  • 业务逻辑
  • 实体
  • 数据访问
  • 公用事业
  • 单元测试
  • 用户界面
它是一个非常大的企业级应用程序。我的问题是,我们把实体框架放在哪里?一方面,EF似乎是一种数据访问技术,应该纳入DataAccess项目。但另一方面,它生成自己的实体,这些实体应该放在我们已经很大的实体项目中

哪个项目更适合实体框架


是否可以从EF中的持久性逻辑中拆分实体?

将EDMX文件放置到DataAccess。为实体添加T4模板,并将其从DataAccess移动到实体(您可能需要在模板中修改EDMX的路径)。它会起作用的——我一直在用它

编辑:


这里是一个例子,但它应该与STE相同。

我可能误解了您的问题,但我首先建议您为您的实体框架创建一个新项目


是否有一个很好的理由让它与其他项目结合在一起?保持它的独立性可以使它更小,更易于管理。还可以降低依赖性

有任何链接可以帮助我这样做吗?我以前从未听说过这件事。你能给我举一个你正在做的小例子吗?你让它听起来很简单,但我看到的所有资源都让它听起来更复杂。我以前从未使用过T4模板。如果你愿意一步一步地做,我将非常感激。我知道如何使用EF,但这个模板的东西让我很困惑。我认为提供的链接是一步一步展示的例子。检查并询问不清楚的具体步骤。你说你一直在使用它。我想要的只是一个你是如何做到这一点的示例。最后是一个很好的例子,说明了如何将你的实体分离到他们自己的项目中(每个人都应该在IMO中这样做),而无需像我之前看到的那样创建返回到数据层的循环引用+1感谢您的链接。请注意,如果您的应用程序足够大,您应该创建多个edmx模型。我们实际上正在将数据层转换为更现代的数据层。我们想使用EF。因此,一开始只需要一个EDMX,但随着我们慢慢地将所有项目转换为使用新的数据层,我们将添加更多的EDMX?我遇到过超过100个实体的模型设计器问题和元数据加载性能问题。这个问题不是关于我们有多少实体或它的性能如何:)是的,完全取决于您。我只是想让你知道,在我使用大型应用程序和实体框架的经验中,我遇到了什么。你误解了这个问题。EF需要进入我们的数据访问项目,该项目包含访问数据库的代码。或者,它需要进入我们的“实体”项目,我们已经定义了所有自定义实体对象。最终,EF将用它生成的对象替换这些自定义对象。没有意识到依赖关系。