Entity framework 实体框架7表值函数支持
我正在用MVC6和EF7开发一个项目。我需要使用地理位置从客户那里得到最近的商店。我读到EF7中还没有空间数据。因此,我认为我可以使用如下表值函数作为替代:Entity framework 实体框架7表值函数支持,entity-framework,Entity Framework,我正在用MVC6和EF7开发一个项目。我需要使用地理位置从客户那里得到最近的商店。我读到EF7中还没有空间数据。因此,我认为我可以使用如下表值函数作为替代: ALTER FUNCTION [dbo].[GetPuzzle] ( @lat float, @long float ) RETURNS TABLE AS RETURN ( SELECT city, ROUND(Location.STDistance(geography::Point(@lat, @l
ALTER FUNCTION [dbo].[GetPuzzle]
(
@lat float,
@long float
)
RETURNS TABLE
AS
RETURN
(
SELECT city, ROUND(Location.STDistance(geography::Point(@lat, @long, 4326)) / 1000, 0) km FROM Shop
WHERE Location.STDistance(geography::Point(@lat, @long, 4326)) / 1000 < 20
)
但我不知道是否有可能用EF7调用db函数。我已经尝试过一些与EF6相关的例子,但它不起作用
还有别的想法吗?感谢有关首先使用数据库将TVF添加到EF6模型的详细介绍,请参阅。好处是能够像在Linq查询中使用表一样使用TVF。缺点是创建模型的特殊处理。有时,通过更新数据库、删除模型,然后从数据库中重新生成模型,对EF6模型进行更改是最容易的。但是使用这种方法,每次都必须对模型执行额外的手动步骤