【问题标题】:Is the DataContext class specific to SQL Server?DataContext 类是否特定于 SQL Server?
【发布时间】:2011-04-12 00:57:53
【问题描述】:

DataContext 类的 MSDN 页面说:

代表 LINQ to SQL 框架的主要入口点。

但看起来构造函数将采用任何 ADO.NET IDBConnection。我认为 DataContext 可以包装任何 ADO.NET 连接是否正确?或者在使用与 SQL Server 以外的数据源的连接时需要考虑哪些特殊事项?

关于DataContext类的MSDN文章的备注部分说:

DataContext 是一切的源头 映射到数据库的实体 联系。它跟踪您所做的更改 对所有检索到的实体和 维护一个“身份缓存” 保证检索到的实体 不止一次表示为 使用相同的对象实例。

例如,我可以通过使用System.Data.SQLite 提供程序创建 DataContext 来使用 DataContext 来读取和更新 SQLLite 数据库吗?

这有点令人困惑,因为我看到的关于 Linq 的所有文章似乎总是提到 SQL Server,但我不确定这是否只是示例,或者 SQL Server 是否是唯一可以工作的数据库。

【问题讨论】:

    标签: c# .net linq-to-sql datacontext


    【解决方案1】:

    DataContext 是 LINQ to SQL 的一部分。 LINQ to SQL 特定于 SQL Server。

    也许你应该研究一下实体框架,它旨在支持多个数据库。

    【讨论】:

      【解决方案2】:

      虽然 DataContext(与常规 .NET 一起提供)旨在与 LINQ-to-SQL 一起使用,但还有其他实现,例如支持多个数据库的 DbLinq(现在在 Mono 中使用)。

      Mono page 上有一个 SQLLite 示例。

      【讨论】:

      • DbLinq 是一个有趣的。我以前从未听说过。与 LINQ to SQL 相比,您对 DbLinq 的质量有任何了解吗?例如,它的表现如何?它是否生成与 LINQ to SQL 相同质量的 SQL 查询?它是否能够处理复杂的 LINQ 查询(使用 ContainsStartsWithEndsWith 字符串运算符和 Contains 集合运算符、复杂的联接、复杂的分组、复杂的联合)?
      • @Steven - 恐怕我还没有进行详尽的比较。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多