ORM系列之二:EF(2) 数据库连接
来源:互联网 发布:会计毕业论文数据 编辑:程序博客网 时间:2024/05/20 11:32
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(2) 数据库连接
- ORM系列之二:EF(1)Code First
- ORM系列之二:EF(3) 约定、注释、Fluent API
- ORM系列之二:EF(4) Model First
- ORM学习之EF理解
- EF--ORM
- ORM之EF+SqlServer+PD(PowerDesigner)
- .NET ORM学习之EF框架
- ORM之EF学习---增删改查
- EF架构之二
- orm-mybatis开发系列之二:一对多关联查询
- Galbanum之Orm(二)
- Orm之Reflect(二)
- 【EF 2】浅谈ADO数据模型生成串(二):数据库连接串分析
- 【ITOO】 EF框架之ORM思想的体现
- Android ORM系列之ActiveAndroid
- ORM系列之三:Dapper
- Hibernate之二why ORM
- MyEclipse WebSphere开发教程:WebSphere 7安装指南(一)
- 第十一周项目五——迷宫问题之图深度优先遍历解法
- jdk1.8 date日期的处理(二)
- MySQL _Windows 环境下 MySQL:reading initial communication packet 问题解决
- ORACLE 日期字符格式转换
- ORM系列之二:EF(2) 数据库连接
- error: expected declaration specifiers or '...' 问题解决
- 文章标题
- 【组合】Codeforces40E[Number Table]题解
- Docker安装图形界面Shipyard
- 第十一周项目实践4 BFS(广度优先搜索)基本模板
- (restriction on required library 'C:\Program Files\Java\jre1.8.0_121\lib\ext\nashorn.jar')
- uva 11258String Partition
- 第九周项目一