【问题标题】:how to write database independent layer using Linq如何使用 Linq 编写数据库独立层
【发布时间】:2011-02-18 14:12:22
【问题描述】:

如何使用 Linq to Sql 编写独立于数据库的数据层?例如,我有一个 dbml 文件,我可以在运行时与几乎任何数据库一起使用(通过指定 web.config)

实体框架是一个更好的选择,但它没有在 Mono 中实现,所以我不能使用它。

编辑:我指的是不同的数据库,如 Sql Server、Mysql 或 SqlLite。我更喜欢将 DbLinq 用于其他数据库。

编辑 2 : 我按照这篇博文创建了 Linq to Sql 映射类。 http://blogs.msdn.com/b/spike/archive/2010/01/08/how-to-use-linq-to-sql-without-using-the-designer-generated-classes.aspx 现在我如何将它与其他数据库一起使用。

【问题讨论】:

  • 你是指不同的数据库模式还是不同的 DBMS?

标签: linq linq-to-sql


【解决方案1】:

您需要一个支持 Mono 的 ALinq http://www.alinq.org/ 之类的第 3 方 linq 提供程序。
由于它是由 Microsoft 构建的,Linq to SQL 非常依赖于数据库,即它仅适用于 MS SQL。我相信 ALinq 确实适用于单声道。以下是第三方提供商的更好列表:
http://blog.linqexchange.com/index.php/links-to-linq-providers/

【讨论】:

  • Alinq是如何帮我写db独立层的?
  • 您可以编写一个包含所有查询的数据库抽象层,然后简单地更改 alinq 连接字符串和提供程序库引用。 Alinq 为几个不同的数据库提供了 porvider 库。类似于使用实体框架,您只需更改对适当库的引用并更新连接字符串。
猜你喜欢
  • 1970-01-01
  • 2014-11-22
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2010-10-01
相关资源
最近更新 更多