Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架7表值函数支持_Entity Framework - Fatal编程技术网

Entity framework 实体框架7表值函数支持

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

我正在用MVC6和EF7开发一个项目。我需要使用地理位置从客户那里得到最近的商店。我读到EF7中还没有空间数据。因此,我认为我可以使用如下表值函数作为替代:

   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模型进行更改是最容易的。但是使用这种方法,每次都必须对模型执行额外的手动步骤