zoukankan      html  css  js  c++  java
  • EntityFramework6.X 之LocalDB&ConnectionString

    LocalDB

    面向开发人员的SQL Server Express的执行模式,它的安装将复制启动SQL Server数据库引擎所需的最少文件集且使用特定连接字符串来启动连接,它是可以创建和打开SQL Server数据库实例,数据库系统数据库文件存储在用户本地AppData路径中(如在VS2013以下版本win8路径是C:UsersTerrence SunAppDataLocalMicrosoftMicrosoft SQL Server Local DBInstances;而VS2015版本的Microsoft SQL server 2014下win10路径是C:UsersVioletMoonAppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesMSSQLLocalDB),通常路径是隐藏并且用户数据库文件存储于用户指定的位置

    l  限制

    1)      不能是合并复制订阅服务器

    2)      不支持Filestream

    3)      仅允许Service Broker的本地队列

    l  自动实例和命名实例

    1)      自动实例是公共的,系统自动为用户创建和管理此实例可由任何应用程序适用,自动实例具有属于保留命名空间的特殊实例名称模式,名称是以单个V字符后跟XX.X格式的LocalDB发行版本号,例如:V11.0表示SQL Server 2012

    连接字符串: Server=(localdb)v11.0; 连接到当前用户拥有的自动实例Integrated Security=true是获取访问数据库的安全权限,可以避免出现必须获取master权限的错误,若是要通过文件名来连接则为:Server=(LocalDB)v11.0; Integrated Security=true ;AttachDbFileName=D:DataMyDB1.mdf;(温馨提示在VS2015中采用的是SQLServer2014将采用MSSQLLocalDB,如:<add name="DefaultConnection" connectionString="Data Source=(LocalDb)MSSQLLocalDB;AttachDbFilename=|DataDirectory|DocumentManger.mdf;Initial Catalog=GZPost.DocumentManger;Integrated Security=True" providerName="System.Data.SqlClient" />)

    2)      命名实例是专用的,由负责创建和管理该实例的单个应用程序所拥有,与其他实例隔离且通过减少与其他数据库用户的资源争用来提高性能。

    3)      如何自定义创建LocalDB

    当你安装了VS2015后,将会附带安装LocalDB且包含一系列LocalDB工具(通常在以下路径下C:Program FilesMicrosoft SQL Server110LocalDBBinn,其中110目录代表SQLServer的版本发型号,100代表2008,110代表2012,120代表SQL2014,130代表SQL2016),其中有一个SqlLocalDB.exe工具,接下来通过该工具可以进行对LocalDB进行相应操作,前提工作运行CMD,运行命令cd C:Program FilesMicrosoft SQL Server110LocalDBBinn从而进入该目录使用命令如下:

    命令

    描述

    格式

    Sqllocaldb.exe

    帮助命令,可以查看该工具相关命令参数

    Info

    查看当前localdb的所有信息

    Sqllocaldb.exe info

    Create

    创建新的localdb数据库,若是加上-s参数表示创建并启动

    Sqllocaldb.exe create databasename

    Delete

    删除指定数据库名的localdb

    Sqllocaldb.exe delete databasename

    Start

    启动指定数据库名的localdb

    Sqllocaldb.exe start databasename

    Stop

    暂停指定数据库名的localdb

    Sqllocaldb.exe stop databasename

    示例

    数据库连接字符串是程序连接数据服务的唯一有效连接参数设置,在ASP.NET5中存在多种方式进行配置:(优先级由高到低OnConfiguring=>Constructor Argument=>AddDBContext)

    1)      在配置文件(appsetting.json)中配置字符串格式如下:

    "Data": {

        "DefaultConnection": {

          "ConnectionString": "Server=(localdb)\mssqllocaldb;Database=aspnet5-WebApplication1-428e1d03-570a-4572-9f45-2ab2a6489fa0;Trusted_Connection=True;MultipleActiveResultSets=true"

    }}

    2)      在CS代码中进行配置连接字符串格式如下:

    下面代码中分别列出了VS2015和VS2013中的连接字符串,实际应用只允许选择其中一个

    ConnectionString

    数据库连接字符参数详情如下:

    参数名

    描述

    Data Source

    数据库源

    AttachDbFileName

    连接数据库文件名和路径

    Initial Catalog

    数据库名

    Integrated Security

    是否安全连接

    MultipleActiveResultSets

    是否多活动结果设置

    User Instance

    用户实例

    • LocalDB(本地数据库)字符串

    <add name="ConnectionName" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDB)mssqllocaldb.0;AttachDbFileName=|DataDirectory|DatabaseFileName.mdf;InitialCatalog=DatabaseName;Intergrated Security=True;MultipleActiveResultSets=True"/>以前的版本v11.0

    • SQL Server Express数据库连接字符串

    默认连接:

    <add name="ConnectionName" connectionString="Data Source=.SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>

    连接本地数据库文件:

    <add name="ConnectionName" connectionString="Data Source=.SQLEXPRESS;AttachDbFileName=|DataDirectory|DatabaseFileName.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"/>

    • SQL Server 数据库连接字符串(完整的)

    默认通过用户名和密码登陆:

    <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=False;User Id=userid;Password=password;MultipleActiveResultSets=True" />

    使用window账户登陆:

    <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=ServerNameInstanceName;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />

    •  Window Azure SQL数据库连接字符串

    <add name="ConnectionName" providerName="System.Data.SqlClient" connectionString="Data Source=tcp:ServerName.database.windows.net,1433;Initial Catalog=DatabaseName;Integrated Security=False;User Id=username@servername;Password=password;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True"/>

    • Entity Framework数据库连接字符串

    <add name="ConnectionStringName" providerName="System.Data.EntityClient" connectionString="metadata=res://*/ ContextClass.csdl|res://*/ ContextClass.ssdl|res://*/ ContextClass.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=ServerName;Integrated Security=False;User Id=userid;Password=password;MultipleActiveResultSets=True&quot;" />

    • SQL Server Compact数据库连接字符串

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

  • 相关阅读:
    Python教程(2.2)——数据类型与变量
    Python教程(2.1)——控制台输入
    Python教程(1.2)——Python交互模式
    (译)割点
    Python教程(1.1)——配置Python环境
    Python教程(0)——介绍
    [HDU1020] Encoding
    [HDU1004] Let the balloon rise
    扩展中国剩余定理 exCRT 学习笔记
    51nod 1943 联通期望 题解【枚举】【二进制】【概率期望】【DP】
  • 原文地址:https://www.cnblogs.com/Terrece/p/6860217.html
Copyright © 2011-2022 走看看