加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 实体框架 – 映射不映射存储过程?

发布时间:2020-12-16 09:57:06 所属栏目:asp.Net 来源:网络整理
导读:我有一个存储过程使用全文搜索视图. 我正在尝试将结果映射到现有的Entity(Sales),在那里我将列MivType映射到SaleType(因为它更有意义,我想保持db名称远离我的网站).存储过程映射到Function Import,我已将其ReturnType定义为Sales. 只要实体具有与字段名称相
我有一个存储过程使用全文搜索视图.
我正在尝试将结果映射到现有的Entity(Sales),在那里我将列MivType映射到SaleType(因为它更有意义,我想保持db名称远离我的网站).存储过程映射到Function Import,我已将其ReturnType定义为Sales.
只要实体具有与字段名称相同的属性名称,这种方法就可以正常工作.

这是我的问题:当我更改属性的名称时,运行导入的函数后出现以下错误:

The data reader is incompatible with the specified ‘Model.Sale’. A member of the type,‘SaleType’,does not have a corresponding column in the data reader with the same name.

如果我在实体上将属性’SaleType’更改为’MivType’,我可以解决这个问题,但为什么要这样做呢?这不是映射的用途吗?
这意味着我必须在存储过程和实体上使用完全相同的名称,因此实际上,映射被忽略(我有YzrName,MivYaad等名称,我不喜欢它).
有一个简单的方法吗?我不想在我的应用程序上使用db名称,并且不想更改存储过程…
(我应该提到我是EF的初学者,所以这可能是一个新手的错误)

谢谢.

解决方法

那么实体设计师并没有很好地工作.我通常会尝试在 XML中执行所有操作.在 XML中有3个部分.存储(SQL数据库的表示).概念(您的.Net对象的代表.和概念到存储映射

听起来这个错误出现在您的概念到存储映射中.您可以在概念方面保留属性名称SalesType,但映射必须在概念和存储方面映射正确的名称.

这里有一些文章参考MSDN
http://msdn.microsoft.com/en-us/library/cc716731.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读