gpt4 book ai didi

c# - 具有多种 RDBMS 类型的 Linq

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:51 24 4
gpt4 key购买 nike

我听说 Linq query write once 也可以在 SQL 和 MS Access 数据库上运行。是对还是错?

例如,无论数据库类型如何,我都想只编写一次查询,例如我目前使用的是 MS Access 数据库,之后如果我想继续使用 SQL Server,那么我不想更改我的查询。这可能吗??

最佳答案

这部分取决于查询。对于简单查询(select、where、orderby)你应该没问题,但是有很多特定于实现的细节。

例如:

  • 在您未明确订购的集合上采用 First:LINQ-to-SQL 可以,LINQ-to-Entities 会失败
  • 使用 Expression.Invoke 构建一个粗糙的自定义表达式:同样,LINQ-to-SQL 没问题,LINQ-to-Entities 会失败
  • 使用诸如 UDF 之类的东西——除了 LINQ-to-Entities 不支持它之外,您的 RDBMS 可能也不支持它
  • 对于“Astoria”(LINQ to data services),有一些围绕 .Where(predicate).FirstOrDefault().FirstOrDefault(predicate) 的场景 -在语义上是相同的,但 IIRC 只有一个有效(在 Astoria)

我的观点是;它可能有效,但您确实需要针对特定​​实现进行测试。

关于c# - 具有多种 RDBMS 类型的 Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4859429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com