过去几年我在.Net项目中使用ADO.Net。现在我开始使用Linq2Sql和Entity Framework。
使用ADO.Net应用程序时,我的客户端应在其系统中安装SQL Server以访问数据库文件。
但是有人告诉我Linq2Sql和Entity Framework在客户端上不需要SQL Server,只需要.mdf
文件来访问数据库。
因为在LinqToSql中我们将连接作为.mdf文件的路径
DataContext dc= new DataContext("path to database file");
是真的吗?
请解释我所有的事情。
答案 0 :(得分:3)
我非常怀疑你可以直接使用没有SQL Server的mdf文件,因为
数据库事务不仅仅是文件读写,可以直接针对.mdf文件完成。
LINQ to SQL查询首先转换为SQL然后执行。如果没有SQL Server引擎,将如何解释这些SQL查询
答案 1 :(得分:1)
它与ADO.net或LINQ2SQL或EntityFramework无关。它与您使用的Database Edition有关。我不认为你可以使用 .mdf 文件而不使用上述任何数据访问技术安装SQL数据库服务器。
可能是指SQL Compact Edition( .sdf )。无需安装SQL Server即可使用。 (您还可以将ADO.net连接到 .sdf 数据库文件)
myConnection = new SqlCeConnection("Data Source=\\Mobile\\Northwind.sdf;");
myConnection.Open();
答案 2 :(得分:0)
您在考虑User Instances,在SQL Server 2012中由LocalDB取代。这与Linq to SQL或Entity Framework无关。所有这些选项都需要在客户端计算机上安装SQL Server。