Sql Server Compact Entity Framework 使用笔记

开发环境

1. VS2010SP1

2. Microsoft SQL Server Compact 4.0

3. Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0  因为SQL Server Compact 4.0是VS10之后才出来的

 

创建Sql Server Compact数据库

1.通过 sql studio

数据库文件下拉框有新建compact数据库选项

2. vs studio

vs添加新项中有新建数据compact 4.0 数据库项

 

如何将sql compact 3.5升级到sql compact4.0

需要使用 Upgrade()方法 

            var fileName = @"G:\xxx\xxx.sdf";
            var ssc = new System.Data.SqlServerCe.SqlCeEngine("Data Source=" + fileName);
            ssc.Upgrade();

需要引用System.Data.SqlServerCe.dll  这个在sql compact4.0安装路径的Private文件夹下

 

Entity Framework 连接sql compact4.0

需要Entity Framework 4.0 以上版本 

连接字符串

  <connectionStrings>
    <add name="xxx" connectionString="Data Source=Data/xxx.sdf;Persist Security Info=False;" providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>

添加Provider 配置

  <system.data>       
        <DbProviderFactories>
            <remove invariant="System.Data.SqlServerCe.4.0" />
            <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
        </DbProviderFactories>
    </system.data>

由于对sql compact不了解 部署时遇到一些问题  错误可以参考沁姆大叔的微软ASP.NET站点部署指南(12):Troubleshooting 文章

sql compact的正确配置方式如下:

拷贝 以下文件到bin目录下

1. V4.0 中 Desktop目录下的 System.Data.SqlServerCe.dll和 其System.Data.SqlServerCe.Entity目录下的System.Data.SqlServerCe.Entity.dll

2. v4.0中Private目录下的x86下的所有文件 或amd64下所有文件  X86对应的是32位系统  amd64 对应的是64位系统

 

System.Data.SqlServerCe.dll   .NET Compact Framework访问的数据库提供程序。System.Data.SqlServerCe.Entity.dll   支持ADO.NET Entity Framework。

其它dll的含义 请参考 SQL Server Compact的DLL文件介绍

 

 

posted @ 2012-07-13 22:56  代码哥  阅读(2946)  评论(0编辑  收藏  举报