[英]Entity Framework - Mapping doesn't map for stored procedure?
我有一个存储过程使用全文搜索视图。
我正在尝试将结果映射到现有的Entity( Sales
),在那里我将列MivType
映射到SaleType
(因为它更有意义,我想保持db名称远离我的网站)。 存储过程映射到Function Import,我已将其ReturnType定义为Sales
。
只要实体具有与字段名称相同的属性名称,这种方法就可以正常工作。
这是我的问题:当我更改属性的名称时,运行导入的函数后出现以下错误:
数据读取器与指定的“Model.Sale”不兼容。 类型为“SaleType”的成员在数据读取器中没有具有相同名称的相应列。
如果我在实体上将属性'SaleType'更改为'MivType',我可以解决这个问题,但为什么要这样做呢? 这不是映射的用途吗?
这意味着我必须在存储过程和实体上使用完全相同的名称,因此实际上,映射被忽略(我有YzrName
, MivYaad
等名称,我不喜欢它)。
有一个简单的方法吗? 我不想在我的应用程序上使用db名称,并且不想更改存储过程...
(我应该提到我是EF的初学者,所以这可能是一个新手的错误)
谢谢。
那么实体设计师并没有很好地工作。 我通常会尝试在XML中执行所有操作。 在XML中有3个部分。 存储(SQL数据库的表示)。 概念(您的.Net对象的代表。和概念到存储映射
听起来这个错误出现在您的概念到存储映射中。 您可以在概念方面保留属性名称SalesType,但映射必须在概念和存储方面映射正确的名称。
请参阅MSDN,这里有一些文章http://msdn.microsoft.com/en-us/library/cc716731.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.