LinqToSql和实体框架或ADO.Net

本文关键字:ADO Net 框架 实体 LinqToSql | 更新日期: 2023-09-27 18:27:09

过去几年,我在.Net项目中使用ADO.Net。现在我开始使用Linq2Sql和实体框架。

当使用ADO.Net应用程序时,我的客户端的系统中应该有SQL Server来访问数据库文件。

但有人告诉我,Linq2Sql和Entity Framework不需要客户端上的SQL Server,只需要.mdf文件即可访问数据库。

因为在LinqToSql中,我们将连接作为.mdf文件的路径

DataContext dc= new DataContext("path to database file");

这是真的吗?

请给我解释一下所有的事情。

LinqToSql和实体框架或ADO.Net

我非常怀疑您是否可以在没有SQL Server的情况下直接使用,mdf文件,因为

  1. 数据库事务不仅仅是可以直接针对.mdf文件进行的文件读取和写入。

  2. LINQ到SQL查询首先转换为SQL,然后执行。如果没有SQL Server引擎,这些SQL查询将如何解释

它与ADO.net、LINQ2SQL或EntityFramework无关。它与您正在使用的数据库版本有关。我认为,如果不使用上述任何数据访问技术安装SQL数据库服务器,就无法使用.mdf文件。

您可能指的是SQL Compact Edition(.sdf)。您可以在不安装SQL Server的情况下使用它。(您也可以使用ADO.net连接到.sdf数据库文件)

myConnection = new SqlCeConnection("Data Source=''Mobile''Northwind.sdf;");
myConnection.Open();

[SQL Compact Edition]

您想到的是SQL Server 2012中被LocalDB取代的用户实例。这与Linq-to-SQL或实体框架无关。所有这些选项都需要在客户端计算机上安装SQL Server。