我有一段 LINQ 代码需要在很多查询中使用
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 的东西?
提前致谢!