【问题标题】:Entity Framework - Creating a strongly typed projection in the designer实体框架 - 在设计器中创建强类型投影
【发布时间】:2011-04-19 13:17:37
【问题描述】:

我正在尝试通过实体框架中的设计器创建一个强类型投影实体“ProjectedPersons”。

我正在使用 POCO 类并将它们分离到单独的项目中。

我不断收到错误:

错误 3027:没有为以下 EntitySet/AssociationSet - ProjectedPersons 指定映射。

如何消除此错误。我只想将实体用于不映射到数据库的投影。

谢谢

【问题讨论】:

    标签: entity-framework-4 linq-to-entities


    【解决方案1】:

    如果您仅将对象用于投影 - 我建议将其创建为复杂类型。您可以获得许多相同的功能,而无需实体固有的大量上下文开销。我相信一个实体完全期望在某些方面被映射到一个数据库功能 - 因此你的错误。

    【讨论】:

      【解决方案2】:

      如果您想在设计器中定义投影,您必须使用QueryView(直接在设计器中定义的投影查询并映射到新的只读实体) - 这是必须直接在 XML 中手动定义的功能(MSL 部分)不在设计器中。否则,您必须在 Linq 查询中手动进行投影。对于 linq 查询,您不需要在设计器中创建实体。您可以使用设计器中未映射的任何类。

      【讨论】:

        【解决方案3】:

        QueryView 是解决方案。我找到了一个有用的例子。

        http://msdn.microsoft.com/en-us/magazine/ee336312.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          • 2010-09-13
          • 1970-01-01
          • 1970-01-01
          • 2011-08-31
          • 1970-01-01
          相关资源
          最近更新 更多