asp.net – 如何将SQL用户定义的函数添加到实体框架?

前端之家收集整理的这篇文章主要介绍了asp.net – 如何将SQL用户定义的函数添加到实体框架?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以像在.dbml中一样在我的.edmx文件添加sql函数吗?如果可以的话,怎么做?如果我不能,是否有任何解决方法

我试图谷歌,但没有找到任何具体的答案,如何做到这一点.

基于给定的答案,我创建了一个存储过程,并尝试添加“导入函数”,但它表示“存储过程不返回列”.我哪里做错了?
功能

ALTER FUNCTION [dbo].[fn_locationSearch](@keyword varchar(10))
RETURNS TABLE
AS
RETURN
(
SELECT CustomerBranch.ID,CustomerBranch.BranchName,CustomerBranch.Longitude,CustomerBranch.Latitue,CustomerBranch.Telephone,CustomerBranch.CategoryID,CustomerBranch.Description

FROM FREETEXTTABLE (CustomerOffer,*,@keyword) abc INNER JOIN OffersInBranch
ON abc.[key]=OffersInBranch.OfferID INNER JOIN CustomerBranch ON     OffersInBranch.BranchID=CustomerBranch.ID
UNION
SELECT    CustomerBranch.ID,CustomerBranch.Latitude,CustomerBranch.Description
FROM CustomerBranch WHERE FREETEXT(*,@keyword)
)

存储过程:

ALTER PROCEDURE USP_locationSearch
(@keyword varchar(10))
AS
BEGIN
SELECT * from dbo.fn_locationSearch(@keyword)
END

解决方法

在Entity Framework中没有对sql用户定义函数的内置支持,最好的方法是创建一个包装函数调用并返回其输出的存储过程,然后将该过程添加到EF模型中.

猜你在找的asp.Net相关文章