ORM系列之二:EF(2) 数据库连接
2017-11-09 11:24
260 查看
ORM系列之二:EF(2) 数据库连接
目录1.前言
2.Code First默认连接
3.Code First指定数据库
4.自定义连接
前言
在介绍EF的Code First模式时候,我们没有修改任何配置,运行之后自动在LocalDb创建一个新的数据库,并且创建对应的物理表,这个是如何实现的呢?
其实在我们安装EF时,就会自动检测当前系统包含的数据库实例,如果SQL
Express可用,则默认连接的数据库就是SQL Express;如果LocalDb可用,则默认连接的数据库就是LocalDb;如果两者同时可用,则由于LocalDb是SQL
Express是升级版,考虑向后兼容,默认使用Sql Express。当检测到可用的数据库之后,EF会在配置文件中添加对应的节点信息,如下图,说明默认连接的是LocalDb。
Code First默认连接
在Code First模式下,我们不修改任何配置,直接运行,此时我们自定义的上下文调用的是无参的构造函数,自动生成的数据库名称由EF生成。
EF自动创建的数据库名称格式:项目名称+自定义的上下文名称,如下图:
Code First指定数据库
上述我们没有修改任何配置,数据库也是由EF自动创建,但这只适用于数据库不存在的情况,如果数据库已经存在,我们又改如何指定连接?
其实也非常简单,我们同样可以不修改任何配置,只需要在自定义的数据库访问上下文中实现一个有参数的构造函数,该参数即已存在的数据库名称,如下:
再次运行,查看数据库,我们在EF.ExistDatabase下已经可以看到Blog表,如下:
自定义连接
到目前为止,我们只是修改了上下文的构造函数,没有修改配置,不管是新建数据库还是已有数据库,一直使用的还是LocalDb,如果现在我们想完全自定义连接,又该如何实现呢?
根据我们以往的经验,需要在配置文件中添加连接字符串,但是此时要注意,连接字符串Name必须和自定义的上下文名称一致,原来EF自动生成的节点可以删除。
修改前配置文件:
修改后配置文件:
运行后效果如下:
相关文章推荐
- ORM系列之二:EF(3) 数据库连接
- 【EF 译文系列】模型和数据库连接
- ORM系列之二:EF(2)Code First
- 【Oracle XE系列之二】PLSQL Developer 远程连接Oracle XE数据库
- ORM系列之二:EF(5) Model First
- ORM系列之二:EF(1)Code First
- ORM系列之二:EF(3) 约定、注释、Fluent API
- ORM系列之二:EF(4) Model First
- ORM系列之二:EF(4) 约定、注释、Fluent API
- ORM系列之二:EF(1)
- JDBC系列:(1)通过JDBC连接数据库
- JSP初级系列--Eclipse3.21+SQl 2005 JDBC数据库连接配置方法
- 《解剖PetShop》系列之二-PetShop数据访问层之数据库访问设计
- 数据库连接字符串用IP死活连不上,只能用计算机名连,ADO或ORM错误提示为表“对象”无效
- ORM读取web.config中的数据库连接字符串
- USB入门系列之二 —— USB的连接模型【转】
- USB入门系列之二 —— USB的连接模型
- Mybatis系列之-连接数据库的配置单独放在一个properties文件中
- 一步一步学EF系列3【升级篇 实体与数据库的映射】
- asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表