何时使用.mdf和何时使用.sdf?

9 sql database asp.net-mvc entity-framework vwdexpress

在互联网上看到很多东西后,我没有在两种文件类型之间找到任何解释:.mdf.sdf.

.sdf将是一个紧凑版本的SQL Server(.mdf)我相信.他们看起来仍然完全不同.

遵循msdn上的两个教程,即MVC Movie AppMusicstore.两者都用.sdf.

部分引用(完整):'首先它应该是"| DataDirectory | ASPNETDBContext.mdf"(注意扩展区别).你的申请......'

这两个教程都有连接字符串.sdf,即:

<add name             ="MovieDBContext"
     connectionString ="Data Source=|DataDirectory|Movies.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/>

<add name             ="MusicStoreEntities" 
     connectionString ="Data Source=|DataDirectory|MvcMusicStore.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/> 
Run Code Online (Sandbox Code Playgroud)

题:

我的问题是在何时何地使用?更多的是为什么要使用哪个.

web*_*per 13

SQL Server Compact(sdf文件)在Windows手机中很受欢迎,用于存储一些数据(数据量很少),也可用于网站,但性能较差,甚至SQLite也更好.

SQL Server(mdf文件)用于具有大量数据的大型站点.它功能更强大,但不能用于手机,必须安装在服务器上.

看看:SQL Server Compact,SQL Server Express 2012和LocalDB的比较


mar*_*c_s 12

SQL Server Compact Edition确实与"常规"SQL Server完全不同.

SQL Server CE是一个独立的单用户数据库,由您的应用程序在运行代码的机器上加载; 它在单个.sdf文件中包含所有数据,并且仅支持"常规"SQL Server(及其功能)的一小部分.SQL Server CE非常适合简单,独立的单用户应用程序(如手机应用程序).

"真正的"SQL Server是服务器产品 - 您将其安装在服务器上,您的客户端只连接到它(通常,客户端计算机没有安装SQL Server本身).它是一个完整的RDBMS,包含所有内容 - 存储过程,触发器等,因此最适合处理结构化的大规模数据 - 考虑企业应用程序,例如订单处理,发票,会计,大型数据库,适用于任何用户类.