之前开发的时候一直用的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

[.Net MVC] 使用SQL Server数据库代替LocalDb的更多相关文章

  1. 2014-07-30 MVC框架中对SQL Server数据库的访问

    今天是在吾索实习的第16天.我自己主要学习了基于MVC框架的系统的开发时,对SQL Server数据库的相关访问.其步骤如下: 第一步,在Models文件夹中创建一个类,并命名为Movies.cs,如 ...

  2. 在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库

    http://www.cnblogs.com/huangtailang/p/4221164.html 背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer20 ...

  3. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  4. ASP.NET MVC与Sql Server交互,把字典数据插入数据库

    在"ASP.NET MVC与Sql Server交互, 插入数据"中,在Controller中拼接sql语句.比如: _db.InsertData("insert int ...

  5. TransactionScope事务处理方法介绍及.NET Core中的注意事项 SQL Server数据库漏洞评估了解一下 预热ASP.NET MVC 的VIEW [AUTOMAPPER]反射自动注册AUTOMAPPER PROFILE

    TransactionScope事务处理方法介绍及.NET Core中的注意事项   作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.ht ...

  6. .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

    今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...

  7. SQL Server 2012 Express LocalDB

    微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio ...

  8. JeeSite如何正确连接SQL SERVER 数据库

    JeeSite如何正确连接SQL SERVER 数据库 jeesite介绍 感谢jeesite项目的作者thinkgem. 没有你我也不会更改这数据源非了恁大的劲,,,,嘻嘻嘻说多了. JeeSite ...

  9. VS 2017 Web项目需要安装Sql Server 2012 Express LocalDB问题

    最近在做mvc5的练习 ,结果到了数据库连接这一阶段就出现了问题,开始我以为<add name="MovieDBContext" connectionString=" ...

随机推荐

  1. 【UNIX】select、poll、epoll学习

    三者都是UNIX下多路复用的内核接口,select是跨平台的接口,poll是systemV标准,epoll是linux专有的接口,基于poll改造而成. select 函数原型: int select ...

  2. NSThead

    每个iOS应用程序都有个专门用来更新显示UI界面.处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验.一般的解决方案就是将 ...

  3. iOS 限制textField输入的长度

    1.电话号码(带3-3-4效果) //指定代理 self.phoneTextField.delegate = self; //当编辑改变的时候,进行字符校验 [self.phoneTextField ...

  4. Java中3DES加密解密与其他语言(如C/C++)通信

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. js 如何将无限级分类展示出来

    这个需要运用递归. 案例:将数据以 ul li ul li形式展现在div中. <div id="div"></div> 数据格式为json: var da ...

  6. 使用android x86进行android应用开发.

    首发论坛 安卓巴士.id:android_bin 一.必备工具: 1.虚拟机软件(本文使用virtual Box为例), 2.android x86镜像,下载地址http://www.android- ...

  7. android学习日记03--常用控件tabSpec/tabHost

    常用控件7.TabSpec和TabHost 比较常用的控件,感觉手机QQ的整体布局就是这个,只不过tab放在底部而已.TabSpec相当于浏览器的分页,而TabHost就相当于分页的集合TabSpec ...

  8. unity3d NGUI多场景共用界面制作

    1创建单独编辑UI的unity场景 UIScene.unity 用来做UI面界 ,创建Resources文件存放UI界面的prefab,代码里动态load资源仅仅能从Resources目录载入 2创建 ...

  9. Asp.Net转换Html加号显示为空格的字符!(自已备用)

    Asp.Net转换Html显示为空格的字符!(自已备用) 显示+(加号),须要替换一下!

  10. mysql 源码调试方法

     http://blog.itpub.net/29254281/viewspace-1847415/ 其中吕海波老师分享的内容是 <调试Oracle二三例:调试技术在日常运维中的应用>其中 ...