Sql Server对象管理器的使用
VS提供了很多便捷的工具,Sql Server对象管理器可以直接在VS里面访问数据库,不用再打开一个Management Studio。这里记录下Sql Server对象管理器的使用。
1.先在视图里面找到SqlServer对象管理器
2.在vs的右侧边栏就会出现。
我们先链接一个localdb,在Sql Server上右键 选择添加Sql Server
会出现下面的对话框,这里填写(LocalDb)\v11.0,选用windows验证。这样就出现本机下面的所有localdb了。
这个是来自MVC webconfig的链接字符串 connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-EF-20150303094817;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-EF-20150303094817.mdf"。
让人奇怪的是,AttachDbFilename是aspnet-EF-20150303094817.mdf,在MVC4的工程App_Data文件中是数据库名称是EF.Models.VetContext.mdf. 在c盘和工程里面没有找到aspnet-EF-20150303094817.mdf,但实际操作是EF.Models.VetContext.mdf.他们应该存在某种映射。
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-EF-20150303094817;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-E F-20150303094817.mdf" />
<add name="CEEntities" connectionString="Data Source=|DataDirectory|Db.sdf" providerName="System.Data.SqlServerCe.4.0" />
<add name="SqlConnection" connectionString="Data Source=RJ-STONE-PC;Initial Catalog=Support;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=sa" providerName="System.Data.SqlClient" />
</connectionStrings>
sqlserver和ce的链接字符串都不用说了。 Initial Catalog表示数据库名称。Security Info表示登陆方式,false表示需要sa登陆。为true或者SSPI都是无需验证的windows登陆。
奇葩的是我修改了attachDBfilename的名称为AttachDBFilename=|DataDirectory|\EF.mdf,App_data中并没有创建新的ef.mdf,将Initial Catalog后面也改成了EF 运行程序之后,数据还是更新在了EF.Models.VetContext.mdf中。
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=EF;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\EF.mdf" />
这个现象让我有点寝食难安。现在发现,原来是开始创建VetContext.cs的时候,那个DefaultConnection根本没有使用。Dbcontext会自动的创建一个连接,EF.Models.VetContext.mdf才是这个默认链接的名称。所以修改webconfig那个链接或者删除那个连接字符串都是没有影响的。
public class VetContext:DbContext
{
public DbSet<Patient> Patients { get; set; }
public DbSet<Visit> Visits { get; set; }
}
正确的做法是加上一个构造函数:
public class VetContext:DbContext
{
public DbSet<Patient> Patients { get; set; }
public DbSet<Visit> Visits { get; set; } public VetContext() : base("DefaultConnection")
{ }
}
这个时候就会创建新的数据库了。
同样可以用来加载本地Sql Sever 数据库。
另外,vs还有自带的服务器资源管理器里面也可以打开数据库。但没有上面的好用。当数据库开始处于链接状态,他不能成功链接到数据库,需要待其他使用链接关闭之后才可以。对于数据库的访问功能,两者没有什么区别。
Sql Server对象管理器的使用的更多相关文章
- 查看本地安装的sql server是什么版本
方法一:查询语句 SELECT @@VERSION返回当前安装的日期.版本和处理器类型.例如:结果为: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 ( ...
- SQL Server统计信息:问题和解决方式
在网上看到一篇介绍使用统计信息出现的问题已经解决方式,感觉写的很全面. 在自己看的过程中顺便做了翻译. 因为本人英文水平有限,可能中间有一些错误. 假设有哪里有问题欢迎大家批评指正.建议英文好的直接看 ...
- 【SQL SERVER】 搭建AlwaysON高可用组
项目需要保障数据的高可用,于是可选的方案无非是Oracle集群. 传统的主从+心跳切换访问点以及SQL Server AlwaysOn这类方案.(//经验不多,了解和实践过的方案就这类,轻拍) Ora ...
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
随机推荐
- c#输出、输入
//输出 Console.WriteLine("这是一行文字"); 自动回车的. Console.Write("Hello world"); 不带回车的. ...
- rest-assured : Restful API 测试利器 - 真正的黑盒单元测试(跟Spring-Boot更配哦,更新至spring-boot1.4.1)
{ "Author":"tomcat and jerry", "URL" :"http://www.cnblogs.com/tom ...
- jquery基础事件
一.常用的事件有:click.dblclick. mousedown.mouseup.mousemove.mouseover.mouseout.change.select.submit.keydown ...
- 设计模式可复用面向对象软件设计基础之对象创建型模式—ABSTRACT FACTORY( 抽象工厂)
意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 适用性 在以下情况可以使用 Abstract Factory模式 • 一个系统要独立于它的产品的创建.组合和表示时. • 一 ...
- Head First 设计模式读书笔记
在网上学习了一段时间设计模式,总感觉不系统,很容易忘,最近买书,学习了<Head First设计模式>,受益匪浅,特做此记录,以便激励自己不断的向后学习. 原书JAVA版本,本次学习记录及 ...
- 【Visual Lisp】块专题
;;关于块 ;;(0)模型空间→块表记录→块图元:顶层的是模型空间→模型空间下有很多图元和一些块表记录→块表记录又有很多图元(此时块表记录就相当于模型空间),一个块表记录可以有多个insert块→同一 ...
- 黑马程序员-autorelease pool
Autorelease:可以延迟给对象发送release消息.发送一个autorelease消息给对象,证明该对象在一定时间内有效,一定时间后会对该对象进行释放,进行一次release. 一个auto ...
- Freemarker日期格式化处理
基本参数: date: 只显示日期,不显示时间.如${createTime?date} 或${createTime?date('yyyy-MM-dd')} time: 只显示时间,不显示日期如${cr ...
- case when then else end 用法
前段时间做项目过程中制作报表时编写的sql需要用到的case when then else end,因此将case的用法总结一下吧. CASE命令有两种语句格式:语法形式1:CASE expressi ...
- [Xpand] Error 1 Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
原因是用的vs2015 默认用了c#6 ,但是在没安装.net 4.6 环境下编译失败. 解决办法很简单,修改 6 为 5 做降级就可以了. 1.nuget install DotNetCompile ...