您可以将 LINQ 工具(例如 SQLMetal)与访问数据库一起使用吗?

Posted

技术标签:

【中文标题】您可以将 LINQ 工具(例如 SQLMetal)与访问数据库一起使用吗?【英文标题】:Can you use LINQ tools such as SQLMetal with an access database? 【发布时间】:2010-09-06 23:57:08 【问题描述】:

我正在创建一个小型数据库应用程序来自学以下概念

    C# 编程 .Net 3.5 框架 WPF LINQ ORM

我想使用 Microsoft Access 作为数据库,但我似乎找不到任何提及是否可以使用 SQLMetal 从 Microsoft Access 数据库生成 ORM 代码。

有谁知道这是否可行?

如果没有,我可以使用任何小型数据库或嵌入式数据库吗?我认为此时 SQL express 对我来说太过分了。

【问题讨论】:

【参考方案1】:

对于嵌入式数据库,您可以使用SQL Server Compact Edition。与 SQL Server Express 不同,它与 LINQ to SQL 设计器兼容,但它与命令行 SQLMetal 完全兼容。与 SQL Express 相比,它有一些优势,比如能够使用嵌入式或从文件运行。 Microsoft 有一个非常方便的图表,概述了differences between Express and Compact。

【讨论】:

【参考方案2】:

如果您想学习实际技能,我认为 SQL Express 不会过分——事实上恰恰相反!那将是我的选择,无论我选择什么,我都会远离 Access。

祝你好运

【讨论】:

【参考方案3】:

AFAIK,Linq to SQL 是特定于 MSSQL 服务器提供程序的。老实说,SQL Express 在当今的机器上相当轻量级。

顺便说一句,不要将 LINQ 与 Linq to SQL 混淆。 Linq 是为 .NET(除其他外)提供“查询”之类的支持的底层技术,其中 L2S 实际上是构建在 Linq 之上的数据访问技术。 Vanilla Linq 可以与任何 ADO.NET 提供程序一起使用,当然 Access 就是其中之一。

实体框架也可以与任何兼容的提供程序一起使用,但如果 SQLExpress 对你来说太重了,那么我不建议你走这条路……

【讨论】:

【参考方案4】:

感谢所有回复。没想到这么快就得到答案。对于我的测试应用程序,我认为 SQL Server Compact Edition 将是可行的方法。我基本上是在创建一个类似于 Microsoft Money 的资金管理应用程序,虽然它是一种学习技能的练习,但我最终还是想用它来管理我的财务(前提是它不是太垃圾!)

这就是为什么我认为一个完全成熟的数据库会矫枉过正。

【讨论】:

以上是关于您可以将 LINQ 工具(例如 SQLMetal)与访问数据库一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

LINQ to SQL 默认值

SQLMETAL 和 EDMGenerator 生成的映射文件的基本区别是啥?

SQL Server 2008 到 SQL Server CE (Windows Phone 7)

sqlmetal.exe在路径中找不到,即使它在我的机器上正确的路径 - Linqer程序

Linq To Sql:数据库版本不兼容

SQL to LINQ 工具 [关闭]