2

您好,我如何从前端访问实体框架生成的实体?从我的业务逻辑我可以访问它,但我不能从前端访问它。

我可以将实体从实体框架项目移动到业务逻辑层或在其中复制它们吗?

我认为应该有一个简单的方法来做到这一点,因为我不敢相信微软已经开发了一种模式,数据层应该被 ui 直接引用,这是人们 8 岁时做的事情

4

1 回答 1

0

我将从 Entity Framework 5 / VS2012 的角度向您介绍这一点。然而,其他版本应该类似地工作。

假设您在数据项目中有三个项目(data/business/ui)和一个实体框架上下文(.edmx)项。

  1. 为您的解决方案创建一个新项目(类库)。该项目将容纳您的实体 (POCO) 对象,因此请适当命名。

  2. 创建从数据项目到新实体项目的项目引用

  3. 在新项目中创建一个新项目 (EF 5.x DbContextGenerator)

  4. 删除新建项目中的 Context.tt 文件。

  5. 打开另一个 .tt 文件并修改定义inputFile以映射到您的 .edmx 文件的行

    const string inputFile = @"../<dataprojectname>/<mydata>.edmx";

  6. 在您的数据项目中展开“mydata”.edmx 并找到名为“mydata”.tt 的实体模板(您会知道它是正确的,因为它会展开以显示您的实体列表)并将其删除。

  7. 修改“mydata”.Context.tt 文件:向下滚动直到看到using语句。在步骤 3 中创建的实体的命名空间中附加使用列表。

  8. 现在,您可以从您的业务和 UI 项目直接创建对实体项目的引用。

希望这可以帮助。

于 2013-06-10T22:16:08.307 回答