VS2010+SQlite+EF 二、初识EF DataBaseFirst
来源:互联网 发布:php公益培训 编辑:程序博客网 时间:2024/05/16 15:08
DataBaseFirst,数据库优先,就是先建好数据库结构(表、字段、存储过程、视图等等),然后从现有数据库生成实体数据模型
一、添加实体数据模型
右键点击项目,选择添加——新建项——ADO.NET 实体数据模型,选择从数据库生成——下一步,点击新建连接,数据源选择SQlite DataBae File
选择SQlite数据库文件,确定
可选的确定生成对象名称的单复数形式,选中后如果数据库表是复数形式,比如Books,创建的对应对象名就是Book,如果不选,则对应对象名是Books
选择要添加到实体数据模型中的数据对象,完成
二、实体数据模型的结构
第一步完成之后,会往app.config里写入一些环境设置,我们关注的重点是连接字符串
<connectionStrings> <add name="TestDatabaseEntities" connectionString="metadata=res://*/ModelTestDatabase.csdl|res://*/ModelTestDatabase.ssdl|res://*/ModelTestDatabase.msl;provider=System.Data.SQLite;provider connection string="data source=E:\CSharp\Working Space\Projects\EF6_SQlite_Practice\EF6_SQlite_Practice\bin\Debug\TestDatabase.db3"" providerName="System.Data.EntityClient" /> </connectionStrings>默认生成的连接字符串是绝对路径,可以将其修改为相对路径,比如 data source=TestDatabase.db3
关于相对路径要注意的地方,参考这个帖子:http://blog.csdn.net/clb929/article/details/60882798
在解决方案资源管理器中,自动创建了一个edmx的东东,这个就是实体数据模型,点开小箭头,有一个ModelTestDatabase.Designer.cs文件,里面就是EF自动生成的代码
有一个继承于ObjectContext的类TestDatabaseEntities,这个就是整个数据库的映射
这个类有几个构造函数,其中不带参数的构造函数会默认读取app.config中name="TestDatabaseEntities"的连接字符串
如果app.config中有多个连接字符串,还可以用另外一个带参数的构造函数创建一个指定连接字符串的TestDatabaseEntities对象
TestDatabaseEntities类还有一些属性,都是一些实体,所谓实体,就是数据表的映射
然后还有很多继承于EntityObject的类,这些就是表的映射,这些类的属性、字段就是数据库中表的字段
数据库的结构是:
数据库——表——字段
生成的实体数据模型的映射关系就是:
实体类容器——实体类——属性
一级级对应关系非常清楚
双击实体数据模型,会以可视化的形式展示整个实体框架
在空白处右键,选择 模型浏览器,可以更清楚的看到数据库与实体模型之间的映射关系
- VS2010+SQlite+EF 二、初识EF DataBaseFirst
- 浅谈EF框架(二)--DataBaseFirst
- EF映射之DataBaseFirst
- 初识EF(二)
- VS2010 EF
- VS2010+SQlite+EF 一、环境搭建
- VS2010+SQlite+EF 踩过的坑
- VS2010+SQlite+EF 三、再深入一点
- VS2010+SQlite+EF 四、常用操作
- 使用EF DataBaseFirst做一个简单的MVC3报名网站
- 【ITOO高校云平台】——EF框架:DatabaseFirst
- 关于EF(entity framework)中的codefirst、modelfirst和databasefirst
- ef
- EF
- EF
- EF
- EF
- EF
- YOLO2 文章解读
- 计算DOM元素的top时需要注意的一个问题
- 杂乱
- 实习面试会遇到的一些问题
- 设计模式
- VS2010+SQlite+EF 二、初识EF DataBaseFirst
- 建议书
- ASP.NET Core Docker jexus部署-CentOS实践版
- web.xml中出现<servlet-name>default</servlet-name>是什么意思?
- Problem B: 类的初体验(IV)
- ife总结
- uestcoj 1312 Forming Lake
- hdu 1172 猜数字
- SPPNet-引入空间金字塔池化改进RCNN