0

我正在使用 sql server 使用 Asp.net mvc razar 开发一个应用程序,我有一个包含名为Fname, Mname, lname, dob. 我创建了一个存储过程,它返回FullName, Age类似的数据

Select Fname + Mname + LName As FullName, spFunctionReturnAge(dob) As Age
From Customer 

我为此存储过程导入并创建了一个函数,但是当我在 edmx 设计视图中导入存储过程时,没有具有 FullName 和年龄列的实体或模块。

如何添加一个模块或从这个存储过程返回所有行?

我的存储过程有一些返回行的计算,所以我不能直接使用视图,只能通过使用存储过程来完成

4

2 回答 2

0

您将需要创建一个自定义实体类并将其映射到设计器中的 select 方法到一个函数。如果您愿意,您还可以在设计器中映射插入更新和删除功能,但过程略有不同。

选择方法见: http ://www.robbagby.com/entity-framework/entity-framework-modeling-select-stored-procedures/

对于其他所有内容(插入更新和删除),请参阅http://msdn.microsoft.com/en-us/data/gg699321.aspx

于 2013-03-04T05:30:15.333 回答
0

除非出于某种原因需要传入参数,否则请尝试使用视图而不是存储过程。

CREATE VIEW vwCustomer AS
SELECT Fname + Mname + LName As FullName, spFunctionReturnAge(dob) As Age 
FROM Customer

大多数(如果不是所有)从 SQL Server 引用表的程序都会将视图识别为表,但是存储过程的处理方式不同。

于 2013-03-04T04:22:41.697 回答