将自定义实体映射到存储过程

时间:2012-09-27 17:04:12

标签: c# asp.net .net database entity-framework

我正在尝试将自定义实体映射到一组存储过程。实体上的属性对应于插入和更新过程的参数以及函数导入中使用的select过程。当我在XML视图中打开EDMX文件时,我的实体对象上的所有属性都出现以下错误:

  

错误11009:未映射属性“xxx”。

我在Google上搜索了这个错误,一些论坛建议实体只能映射到表格;不允许将自定义实体映射到存储过程。

自定义实体是否可以映射到存储过程而无需映射到数据库中的表?如果没有,使用实体框架解决此问题的最佳方法是什么?我最初的想法是创建一个复杂类型,然后对所有CRUD方法使用函数导入。

1 个答案:

答案 0 :(得分:1)

您可以拥有一个在实体框架中返回复杂类型的存储过程,但我认为复杂类型不能具有存储过程映射。如果要对存储过程执行某些操作,可以创建函数导入并调用存储过程。

该工具将创建一个方法,其中包含调用存储过程所需的所有参数,如果过程返回一个选择,则可以映射到现有实体或创建新的复杂类型。