【发布时间】:2013-09-24 21:53:55
【问题描述】:
我有一个 LINQ 代码的 sn-p,我需要在很多查询中使用它
let catchmentId = Convert.ToInt32(
phy.PhysicalProperty_binData.Substring(offset + 3, 1) +
phy.PhysicalProperty_binData.Substring(offset + 2, 1) +
phy.PhysicalProperty_binData.Substring(offset + 1, 1) +
phy.PhysicalProperty_binData.Substring(offset, 1))
这可以很好地转换为 SQL(并且对于我的特定需求来说性能更高),但是让我的查询看起来很难看。有什么办法可以让这不那么冗长吗?也许是返回 Expression> 的扩展方法?请注意,我不想将数据提取到客户端(在服务器上作为 SQL 运行),这使事情变得更加复杂。例如:
let catchmentId = phy.PhysicalProperty_binData.AnExtensionMethodHere<int>(offset)
我尝试编写一个扩展方法来执行此操作,但提供程序只是忽略了该调用或引发异常,说明它不知道如何将该调用转换为 SQL。我们能否以某种方式扩展 SQL 生成器来为我们执行此操作,或者以某种方式为其提供能够生成相同 SQL 的东西?
提前致谢!
【问题讨论】:
标签: c# sql linq linq-to-sql