好吧,我知道“我应该使用什么 X”非常广泛,所以让我缩小我们的使用场景范围。基本上,我们很久以前就应该使用 ORM 了。现在,我们无法在 C# 代码中遍历并重写生成的 SQL 查询的每一行。但我们希望至少朝着正确的方向迈出几步。因此,当我们编写新代码(以及在空闲时间进行重构)时,我们希望转换为某种 ORM。
对于这个目的,什么是好的 ORM?我们正在使用 .Net 3.5 和 ASP.Net(webforms)。除了一些具有“动态”模式的表之外,我们的数据库没有什么异常复杂的地方。我们有大量的 View (虽然 Web 应用程序没有太多使用),但我们拥有/使用很少的存储过程。我们的数据库是SQL Server 2005。我们的价格范围尽可能便宜,并且首选开源。然而,这是一个专有项目,因此我们不能使用 GPL 库等。
关于动态模式:基本上在某些情况下,可以向某些表添加或删除列(不同类型)。
我们的 View 使用几乎不存在,我们总是可以取出存储过程代码。我相信数据库中只有 2 或 3 个。
最佳答案
大量 - https://github.com/robconery/massive
或
PetaPoco - https://github.com/toptensoftware/petapoco
两者都是单个 .cs 文件,除了 GAC 中的内容之外没有任何依赖项。
(完全公开,PetaPoco 是我写的)
关于.net - 什么是适合我们需求的轻量级 ORM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188299/