c# - LINQ 还是其他?

标签 c# linq linq-to-sql orm data-access-layer

我最近离开了一家小公司,当时我们使用 LINQ2SQL 编写 .NET MVC 应用程序以进行数据访问以担任新职位。在这里,他们仍在使用 Web 表单和内部编写的 ORM,但希望在不久的将来迁移到 MVC 和可能的 LINQ2SQL。我个人喜欢 LINQ2SQL 的所有方面,除了在更改表(添加列或其他内容)时遇到的问题以及每次都必须重新生成 dbml 文件。

1) 该问题是否已经解决,或者是否有人知道 Microsoft 是否计划解决该问题?

2) 如果我们要在这里为我们的新数据访问层使用 LINQ2SQL 以外的东西,每个人的建议是什么?

最佳答案

当前 MS 正在插入 Entity Framework 。为什么?因为,坦率地说,LINQ to SQL 是由于 EF 延迟而导致的困惑。我喜欢 LINQ 作为“迭代”的一种方式(不完全正确,因为它适用于 rX 而不是枚举,但这在技术上可能有点太具体了)。

如果您想前往 MS 所在的地方,我会瞄准 EF。我个人在当前迭代中发现了一些问题,但情况正在好转。您的里程可能会有所不同。

如果这不是数据访问的方式,我会考虑使用非自定义 OR 映射器。它们有很多,其中许多历史悠久并且足够稳定,可以推荐给企业使用(例如 nHibernate)。除非绝对必要,否则维护自定义 OR Mapper 的工作量超出团队应承担的工作量。

关于c# - LINQ 还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6668260/

相关文章:

c# - 使用 ReactiveUI 绑定(bind) TextBox 并保持货币格式

c# - 如何从内部代码生成 IIS machineKey?

c# - Linq语句获取不是较长字符串的子字符串的字符串

c# - 帮助使用子查询进行 linq 查询

c# - .Net Controls DataSource 属性上的缺失行为

c# - 如果填充文本框则启用按钮

c# - 如何使用 LINQ 合并 2 个列表?

c# - 将 LINQ 的 Zip 与不返回值的闭包一起使用

c# - 如何使用 LINQ to SQL 类的 PropertyChangedEventHandler 进行即时更新?

c# - 你如何在 LINQ TO SQL 中按多列分组?