2012-03-09 113 views
0

我在过去几年的.Net项目中使用了ADO.Net。现在我开始使用Linq2Sql和Entity Framework。LinqToSql和实体框架或ADO.Net?

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

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

因为在LinqToSql我们给连接的.mdf文件

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

是真的的路径?

请解释我所有的事情。

+0

LightSpeed比L2S或EF好得多。还有其他更好的ORM要看。 – Phill 2012-03-09 05:32:08

+1

我会**从不**在生产系统上使用文件路径定义数据库。这使得开发人员的生活变得更容易(据推测) - 但是**不会**将其用于生产!另外:即使你这样做 - 你仍然**需要安装SQL Server(通常在中央服务器计算机上 - 而不是客户端)来处理这些事务.... – 2012-03-09 06:00:15

+0

MSDN for'SQL User Instances' – leppie 2012-03-09 06:05:32

回答

1

它不与ADO.net或LINQ2SQL或相关的EntityFramework。它与您正在使用的数据库版本有关。我不认为你可以使用.mdf文件,而不需要从任何上述数据访问技术安装SQL数据库服务器。

可能是您指的是SQL精简版(.sdf)。无需安装SQL Server即可使用。 (您也可以用ADO.net连接到。自卫队数据库文件)

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

[SQL Compact Edition]

3

我高度怀疑,你可以直接使用,mdf文件没有SQL Server,因为

  1. 数据库事务不是简单的文件读写,可直接对.mdf文件来完成。

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

+0

You are right一个数据库实例,如果需要使用mdf文件。 – 2012-03-09 05:42:13

0

你在想User Instances,通过LocalDB在SQL Server 2012替换这有什么用做专Linq转换为SQL或实体框架。所有这些选项都需要在客户机上安装SQL Server。