gpt4 book ai didi

c# - 动态查询的最佳选择?

转载 作者:太空狗 更新时间:2023-10-30 01:09:42 27 4
gpt4 key购买 nike

我正在努力将一个旧应用程序从 WebForms 移植到 MVC,该过程的一部分是撕掉现有的数据层,将逻辑从存储过程转移到代码。因为我最初只使用基本的 C# SQL 函数 (System.Data.SqlClient),所以我使用了一个轻量级的伪 ORM ( PetaPoco ),它只将 SQL 语句作为字符串并执行它。构建动态查询在 SQL 中的工作原理大致相同——大量添加和删除额外代码的条件语句(平均查询有约 30 个过滤器)。

所以在四处寻找之后,我找到了一些选择:

  • 一堆字符串和条件,根据需要添加查询的位。真的很讨厌,尤其是当查询变得复杂时,如果存在更好的解决方案,我不想追求它。
  • A bunch of conditionals using L2E .看起来更优雅,但我测试过 L2E 太臃肿了,总的来说是一次糟糕的体验。我可以在 L2S 中做同样的事情吗?如果是这样,L2S 是否会在未来 5 到 10 年内继续存在?
  • 使用 PredicateBuilder .仍在研究这个问题,关于 L2S 的相同问题。
  • 编辑:我也可以坚持使用现有的存储过程模型,但无论如何我都必须重写它们,所以看看其他选项也没什么坏处,因为我仍然需要做一些腿部工作。

还有其他选择吗?任何人都可以对上述任何方法发表一些经验 - 主要是,您选择的方法是否让您想要构建一个时间机器并杀死过去实现它的人?

最佳答案

我会看看 LLBLGen。它生成的代码非常好并且可以自定义。他们还提供了一个强大的 linq 提供程序,可以帮助您进行查询。我将它用于几个大型项目并且非常高兴。

http://www.llblgen.com/

关于c# - 动态查询的最佳选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194880/

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