• [.Net MVC] 使用SQL Server数据库代替LocalDb


    之前开发的时候一直用的VS2013,所以数据库也用的LocalDb,这给开发带来很大便利。不过由于开发后还要进行部署,就改用了SQL Server 2012,这里总结下过程。

    基本环境:VS2013,EF Code First,SQL Server 2012,Win7.

    修改领域层的App.config,就是原来用EF Code First生成数据库的那个项目,用LocalDb的时候,EF节点和连接字符串节点:

    <entityFramework>
      <defaultConnectionFactory type = "System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
          <parameter value = "v11.0" />
        </parameters>
      </defaultConnectionFactory>
      <providers>
        <provider invariantName = "System.Data.SqlClient" type = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      </providers>
    </entityFramework>
    <add name = "SiaEMS" connectionString = "Data Source=(LocalDb)v11.0;AttachDbFilename = |DataDirectory|SiaEMS.mdf;Initial Catalog = SiaEMS;Integrated Security = True" providerName = "System.Data.SqlClient"/>

    用SQL Server的话,需要修改这两个节点:

    <entityFramework>
      <defaultConnectionFactory type = "System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
      <providers>
        <provider invariantName = "System.Data.SqlClient" type = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      </providers>
    </entityFramework>
    <add name="SiaEMS"
          connectionString="Data Source = .;
          Initial Catalog = SiaEMS;
          user = sa;
          password = ******;
          MultipleActiveResultSets = True;
          App = EntityFramework"
    providerName="System.Data.SqlClient"/>

    连接字符串里的内容需要注意,Data Source填数据库的服务器端地址,如果是本机就用.代替;Initial Catalog是要连接的数据库的名字;这里使用SQL Server身份验证,填写user和password;这里没有设置Integrated Security,如果设置为True,将采用Windows身份验证模式,前面填写的u和p不起作用;MultipleActiveResultSets作用是指定多活动的结果集是否与指定的链接相互关联,true代表与指定的链接关联,利用这种对链接的关联方式可以减轻系统的负担。

    再修改启动项目的Web.config下的连接字符串,修改和上面的一样即可。


    到此,完成需要修改的配置。接下来需要生成数据库,在VS2013中打开工具->NuGet程序包管理器->程序包管理器控制台,默认项目选择领域层的项目,依次使用Enable-Migrations,Add-Migration,Update-Database命令生成数据库文件。

    安装SQL Server的时候,由于选择了Windows身份验证登录数据库,所以需要在Microsoft SQL Server Management Studio里修改一下。打开管理器,用Windows身份登陆后,服务器上右键属性->安全性,服务器身份验证里选择SQL Server和Windows身份验证模式,确定退出。点开服务器下的安全性->登录名,右键sa属性,常规中输入密码后确定。本来到这里以为就完成了,可是还需要重启服务,才可以使配置生效,由于没走这一步,部署后浏览网站,一直显示数据库登录失败。右键服务器->重新启动,弹出对话框,点是就可以了。


    这样就大功告成了,接下来就是在服务器上走一遍流程就可以了,Go!

    关键字:.NET,SQL SERVER,LOCALDB

  • 相关阅读:
    管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容
    管理员技术(二): 访问练习用虚拟机、 命令行基础技巧 、 挂载并访问光盘设备、ls列表及文档创建、复制删除移动
    管理员技术(一):装机预备技能、安装一台RHEL7虚拟机、使用RHEL7图形桌面、Linux命令行基本操作
    基础(三):yum(RedHat系列)和apt-get(Debian系列 )用法及区别
    基础(二):Linux系统/etc/init.d目录和/etc/rc.local脚本
    基础(一):SCSI硬盘与IDE硬盘有什么区别
    高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器
    错题
    count 【mysql】
    自连接和子查询
  • 原文地址:https://www.cnblogs.com/belloworld/p/4935484.html
Copyright © 2020-2023  润新知