实体框架-存储过程结果为没有主键的实体
本文关键字:实体 框架 存储过程 结果 | 更新日期: 2023-09-27 18:01:55
如果这个问题已经问过并回答过了,请原谅我。如果有,请告诉我。我使用的VS2010超过。net 3.5(平台更新不在我的控制范围内)和最新的服务包。
我有一个存储过程,将返回如下所示的行。没有其他列可以作为这个实体的Key;结果如下所示:
COUNTRYCODE QUANTITY
USA 100
UK 250
USA 300
USA 190
等等。
我从http://blogs.microsoft.co.il/blogs/gilf/archive/2009/03/13/mapping-stored-procedure-results-to-a-custom-entity-in-entity-framework.aspx
开始以及http://msdn.microsoft.com/en-us/library/cc982038(v=VS.90).aspx
这会导致错误"实体类型soAndso没有定义键"。定义实体类型"
的键我们如何减轻这个错误?我在这里不需要主键,也不能修改存储过程。我是最后一招才向特种部队求助。请帮助。非常感谢。
如果您不需要主键,那么我假设您不需要能够修改此数据并将其提交回服务器。在这种情况下,您应该使用复杂类型而不是实体类型。复杂类型是类,可以像实体一样用作DTO,但是你不能把复杂类型用作基本的插入/更新/删除对象。
EDIT:似乎复杂类型在EFv1 (NET 3.5),除了作为对实体类型上的标量属性进行分组的方法。不幸的是,EFv1比EFv4差得多,使用实体框架可能根本无法解决你的问题。