实体框架-存储过程结果为没有主键的实体

本文关键字:实体 框架 存储过程 结果 | 更新日期: 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差得多,使用实体框架可能根本无法解决你的问题。