如何在 Linq 和 Entity Framework 5 中使用 DbGeography.Filter?

2024-01-03

使用 Entity Framework 5,可以在 Linq 查询中使用 SQL Server Spatial 过程。

例如,使用 DbGeography 对象,您可以使用“Buffer()”方法,该方法将转换为 SQL Server 中的 STBuffer。同样,Intersects() 将转换为 STIntersects。

这是一个有效的示例查询:

  var point = DbGeography.FromText(string.Format("POINT({1} {0})", latitude, longitude), 4326);
  var query = from person in persons
              let region = point.Buffer(radius)
              where person.Location.Intersects(region)
              select person;

我想使用Filter可能性(因为如果准确性不是您主要关心的问题,那么这可以加快您的查询速度,如下所示:http://www.pauldmendoza.com/post/SQL-Server-Filter-vs-STInterects.aspx http://www.pauldmendoza.com/post/SQL-Server-Filter-vs-STInterects.aspx) 但是,我似乎找不到如何在 EF5 中执行此操作。这可能吗?如果是的话:怎么办?

我正在使用 SQL Server 2008 R2。


问这个问题有点太早了。我找到了这个:http://msdn.microsoft.com/en-us/library/hh673622(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/hh673622(v=vs.110).aspx

可以这样使用:

  var point = DbGeography.FromText(string.Format("POINT({1} {0})", latitude, longitude), 4326);
  var query = from person in persons
              let region = point.Buffer(radius)
              where SqlSpatialFunctions.Filter(person.Location, region) == true
              select person; 

这转化为我想要的查询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linq 和 Entity Framework 5 中使用 DbGeography.Filter? 的相关文章

  • 获取光标相对于控件的位置 - C#

    我想获取鼠标相对于鼠标指针所在控件的位置 这意味着当我将光标置于控件的起点 左上角 时 它应该给出 0 0 我正在使用以下代码 private void panel1 MouseMove object sender MouseEventAr
  • string.empty 和 string[0] == '\0' 之间的区别

    假设我们有一个字符串 std string str some value is assigned 有什么区别str empty and str 0 0 C 11 及更高版本 string variable 0 如果字符串为空 则需要返回空字
  • 使用 microsoft word.interop 删除 Word 文档中的空白页

    我创建了一个Word文档 它使用以下命令生成动态内容词互操作 它有一些分页符之间使用 我面临的问题是 此分页符会创建我不想向用户显示的空白页面 在某些情况下 我需要在那里添加这些分页符以维护页面布局 因此我无法考虑删除这些分页符 但我想要的
  • 接口中的私有成员

    是否可以在 NET 接口中创建私有成员 我听说现在可以了 但我的 IDE 拒绝了 public interface IAnimal void SetDefaultName string name ChangeName name privat
  • 如何检查是否发生溢出? [复制]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 通过 Nuke.Common/NuGet.CommandLine 部署 NuGet 包时如何通过 Azure Auth

    我正在尝试通过 Azure DevOps 上的 Nuke 和 CI CD 自动执行 NuGet 包更新 一切都构建得很好 但在 PushNuGet 步骤中 该过程尝试通过弹出窗口向 Azure 进行身份验证 这显然从未在 in devops
  • 在 C# 4.0 中,是否可以从泛型类型参数派生类?

    我一直在尝试这个 但我似乎无法弄清楚 我想做这个 public abstract class SingletonType
  • 为什么 C# 编译的正则表达式比等效的字符串方法更快?

    每次我必须对字符串执行简单的包含或替换操作 其中我正在搜索的术语是固定值 时 我发现如果我获取示例输入并对其进行一些分析 则使用编译的正则表达式是几乎 总是比使用 String 类中的等效方法更快 我尝试过比较多种方法 hs是要搜索的 干草
  • XPath 选择具有特定属性值的元素?

    我在使用 XPath 选择节点时遇到问题 我将展示一个示例 由于实际数据量很大 xml 文件被缩短了 这是 XML 的子集
  • 在 Sql Server 2005 中实现最后修改列的最佳方法?

    如何在 SQL 中实现最后修改列 我知道对于创建日期的列 您可以将默认值设置为getdate 对于最后修改我一直使用触发器 但似乎必须有更好的方法 Thanks 触发器是最好的方法 因为此逻辑与表密切相关 而不是与应用程序相关 除了更细粒度
  • Facebook Graph API“/userid/feed”返回空白

    我正在使用 Facebook C SDK 但似乎无法使用 Graph API 获取反馈数据 我已从用户那里获得了以下扩展权限 范围 离线访问 publish stream publish checkins create event read
  • std::regex 转义正则表达式中使用的特殊字符

    我是字符串来创建一个std regex FILE 作为单元测试的一部分 检查一些打印文件名的异常输出 在 Windows 上失败并显示 regex error error escape 表达式包含无效的转义字符或尾随转义 因为 FILE 宏
  • g++4.9 不支持 std::align

    在学习对齐问题等时 我意识到我的 g 4 9 macports OS X 实现不支持std align 如果我尝试编译 使用 std c 11 此示例代码来自http www cplusplus com reference memory a
  • 如何在OpenGL中像这样绘制连接的带状线

    我想用以下方式绘制一系列连接线 GL LINE STRIP 我尝试过自己编写代码 但没有得到想要的结果 所以我来到这里 帮助我找出我错在哪里 这里我只给出我的draw 函数 glBegin GL LINE STRIP glVertex2f
  • 正则表达式基于组的不同替换?

    所以我对正则表达式比较陌生 并且做了一些练习 我正在玩一个简单的 混淆器 它只是寻找 dot or dot or at or at 不区分大小写 并且在匹配项之前或之后有或没有任意数量的空格 这是针对通常情况的 someemail AT d
  • TypeScript 中 C# 类虚拟成员的等效项

    因此 在 C 中 当我创建模型类和延迟加载内容时 我会执行以下操作 public int User ID get set public int Dept ID get set 然后在我的班级稍远一点的地方 我像这样弹出我的虚拟 public
  • Python 中的 C 指针算术

    我正在尝试将一个简单的 C 程序转换为 Python 但由于我对 C 和 Python 都一无所知 这对我来说很困难 我被 C 指针困住了 有一个函数采用 unsigned long int 指针并将其值添加到 while 循环中的某些变量
  • 任何浮点密集型代码是否会在任何基于 x86 的架构中产生位精确的结果?

    我想知道使用浮点运算的 C 或 C 代码是否会在任何基于 x86 的体系结构中产生位精确的结果 无论代码的复杂性如何 据我所知 自 Intel 8087 以来的任何 x86 架构都使用准备处理 IEEE 754 浮点数的 FPU 单元 并且
  • MsBuild 在 Visual Studio Online 上找不到恢复的 NuGet 包

    我尝试构建一个存储在 Visual Studio Online 上的外部 GIT 存储库中的解决方案 它有以下步骤 1 Git 恢复 有效 2 NuGet 恢复 有效 3 构建 不起作用 查看日志时我的第一个猜测是 MsBuild 没有查找
  • GetActiveObject() 与 GetObject() -- MK_E_UNAVAILABLE 错误

    All 我在将一些 VBA 代码转换为 C 时遇到一些问题 我们有一个充当本地 COM 服务器的第 3 方应用程序 在我们使用的VBA代码中获取对象 获取对现有对象的引用 e g Set appHandle GetObject ProgId

随机推荐

  • 从 javac 或 JRE 获取没有编译类的 java 类版本

    Java 类版本可以使用以下命令从类二进制文件中获取javap javap verbose Test grep minor major minor version 0 major version 55 是否可以提前知道 JDK 将生成哪个类
  • 您可以在代码中导入“devDependency”吗?

    Mobx DevTool 的自述文件 https github com mobxjs mobx react devtools指导您将其安装为开发依赖项 然后将其导入到您的代码中 这对我来说似乎是一个问题 因为 devDependencies
  • 如何从给定的字符串中获取日期部分?

    我有这样的字符串 Mon 14 May 2012 13 56 38 GMT 现在我只想约会 即14 May 2012 为此我需要做什么 正确的方法是将其解析为Date对象并按照您想要的方式格式化该日期对象 DateFormat inputD
  • 将对象从 Java 传递到 Oracle 过程

    要将数组传递给 oracle 过程 我们使用ArrayDiscriptor and ARRAY 对象 我必须使用什么对象来将对象传递给 存储过程 ArrayDescriptor 和 ARRAY 类 以及 StructDescriptor 和
  • 如何在脚本中的多个文件中使用多个类?

    我需要制作一个独立的 Groovy 脚本 该脚本不需要编译并且无需安装 Groovy 即可运行 它运行良好 但无法识别除主脚本之外的任何其他脚本 我的文件夹结构如下 libs groovy all 2 4 3 jar ivy 2 4 0 j
  • Pyspark:从涉及数组列的 Json 架构创建架构

    我在 json 文件中定义了 df 的架构 如下所示 table1 fields metadata name first name type string nullable false metadata name last name typ
  • svnblame引起的声纳分析时jenkins出错

    当我运行詹金斯任务时 出现以下错误 17 12 49 738 INFO Sensor SCM Sensor 17 12 49 847 INFO SCM provider for this project is svn 17 12 49 84
  • switch case 语句内的表达式

    我正在尝试创建一个 switch 语句 但我似乎无法使用被评估的表达式 而不是设置的字符串 整数 我可以使用 if 语句轻松做到这一点 但 case 应该会更快 我正在尝试以下操作 function reward amount var re
  • 在带有 MacPorts 的 Snow Leopard 上使用 postgresql84 和 postgis 时没有 liblwgeom

    我正在尝试在升级到 Snow Leopard 后恢复并运行我的开发环境 特别是 我需要 postgresql 和 postgis 工作 但我遇到了以下问题 安装完两者后 sudo port install postgresql84 post
  • Git 无法锁定引用“HEAD”:无法解析引用 HEAD

    我正在尝试将更改提交到我的存储库 但收到以下错误 git c diff mnemonicprefix false c core quotepath false commit q F C Users Contronym AppData Loc
  • django 和 mongodb 会让迁移成为过去吗?

    由于 mongo 没有模式 这是否意味着我们在更改模型时不必进行迁移 非关系数据库的迁移过程是什么样的 我认为这是一个非常好的问题 但根据您正在使用的库和您对 迁移 的期望 答案会有点分散 让我们看一下一些常见的迁移操作 添加一个字段 Mo
  • 通过pid查找task_struct的有效方法

    有没有一种有效的方法可以找到task struct对于指定的 PID 无需迭代task struct list 使用以下其中一项有什么问题吗 extern struct task struct find task by vpid pid t
  • 找不到要导入的项目

    我正在寻找 Android 中的 ePub 阅读器 我提到翻页机 http www pageturner reader org downloads 下载了它的 apk 并且它有效 但是当我下载它的源代码时github https githu
  • 如何使用 javascript 获取 MVC 应用程序的基本 URL

    如何使用 javascript 获取基本 URL 例如 当我从 Visual Studio 浏览我的网站时 如果我的 URL 是http localhost 20201 home index 我想得到http localhost 20201
  • 带 CriteriaQuery 的 where 子句中的子查询

    任何人都可以给我一些关于如何将这种子查询放入CriteriaQuery 我在用着JPA 2 0 休眠 4 x SELECT a b c FROM tableA WHERE a SELECT d FROM tableB WHERE table
  • 根据另一个数组的顺序对数组子键进行排序

    我知道有很多关于数组排序的帖子 但我到处寻找 找不到解决我的问题的方法 我在这里找到了一篇非常好的文章 http firsttube com read sorting a multi Dimension array with php htt
  • 如何以编程方式获取标签栏的高度?

    我发现 UITabBar 的高度是 49px 或 50px 取决于源 因为我不喜欢在代码中使用太多硬编码值 所以我想知道是否可以以编程方式检索选项卡栏的高度 亲切的问候 尼尔斯 R PS 我问的原因是因为我有一个视图控制器 带有包含文本字段
  • 对计算列进行非规范化时需要权衡哪些因素?

    我希望我没有在这里问一个太明显的问题 对于我当前的项目 我正在使用 sql server 2008 设计一个相对简单的数据库 对于其中一个表 我决定引入 计算列 未持久化 它的表达式只是其他两个数字列的乘积 其存在的唯一原因是方便 我正在对
  • C# 应用程序被检测为病毒

    对于相同的程序我几分钟前的问题 https stackoverflow com questions 20061 store data from a c application 我添加了一个安装项目并为该程序构建了一个 MSI 只是为了看看我
  • 如何在 Linq 和 Entity Framework 5 中使用 DbGeography.Filter?

    使用 Entity Framework 5 可以在 Linq 查询中使用 SQL Server Spatial 过程 例如 使用 DbGeography 对象 您可以使用 Buffer 方法 该方法将转换为 SQL Server 中的 ST