实体框架-在设计器中创建强类型投影。

| 我正在尝试通过实体框架中的设计器创建一个强类型的投影实体\“ ProjectedPersons \”。 我正在使用POCO类,并将它们分离到单独的项目中。 我不断收到错误消息: 错误3027:未为以下EntitySet / AssociationSet-ProjectedPersons指定映射。 如何删除此错误。我只想将实体用于投影而不映射到数据库。 谢谢
已邀请:
如果仅将对象用于投影-建议将其创建为复杂类型。您可以获得许多相同的功能,而没有实体固有的大量上下文开销。我认为某个实体在某些方面完全希望映射到数据库功能-因此会出现您的错误。
如果要在设计器中定义投影,则必须使用QueryView(在设计器中直接定义并映射到新的只读实体的投影查询)-这是必须直接在XML(MSL部分)中而不是在设计器中手动定义的功能。否则,您必须在Linq查询中手动进行投影。对于linq查询,您不需要在设计器中创建实体。您可以使用设计器中未映射的任何类。
QueryView是解决方案。我找到了一个有用的例子。 http://msdn.microsoft.com/zh-CN/magazine/ee336312.aspx

要回复问题请先登录注册