您可以将 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)与访问数据库一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章
SQLMETAL 和 EDMGenerator 生成的映射文件的基本区别是啥?
SQL Server 2008 到 SQL Server CE (Windows Phone 7)