随笔分类 -  Entity Framework

摘要:数据库的映射指的就是对数据库进行配置,包括生成表名,架构名,列名。这些内容前面的笔记已经涉及到了,还包括的复杂类型的设置,这里就不在赘述。本次主要学习和掌握如何将单个类映射到多个表中,多个类如何映射到一个通用表中和各种类继承架构的配置。让多个实体映射到同一个表:AKA表切分通常一个数据库表中虽然有很多列,但在很多场景只需要使用其中的一部分,其他的只是一些附加的数据。当我们映射一个实体到这样的表以后,你会发现要浪费资源来处理一些无用的数据。表切分技术可以解决这个问题,这种技术允许在一个单独表中访问多个实体。为了将多个实体映射到一个通用的表中,实体必须遵循如下规则:实体必须是一对一关系实体必须共享 阅读全文
posted @ 2013-05-23 17:31 Rising_Sun 阅读(3796) 评论(1) 推荐(4) 编辑
摘要:本文主要学习是类之间的关联是如何映射到数据库中形成表与表间的关系的。这种关系包括 一对多,多对多,一对一。多重关系Code First在处理多重性关系时应用了一系列规则。规则使用导航属性确定多重性关系。即可以是一对导航属性互相指定(双向关系),也可以是单个导航属性(单向关系)。1、如果你的类中包含一个引用和一个集合导航属性,Code First视为一对多关系;2、如果你的类中仅在单边包含导航属性(即要么是集合要么是引用,只有一种),Code First也将其视为一对多关系;3、如果你的类包含两个集合属性,Code First默认会使用多对多关系;4、如果你的类包含两个引用属性,Code Fir 阅读全文
posted @ 2013-05-22 16:07 Rising_Sun 阅读(3542) 评论(0) 推荐(2) 编辑
摘要:上一篇,主要学习了一些CodeFirst 中修改默认规约的基本配置。在文章最后,出现了个新的名词:复杂类型。什么是复杂类型呢?书中说道:“复杂类型也可视作值类型(?)可以作为附加属性添加到其他类。复杂类型与实体类型的区别在于复杂类型没有其自己的键。它是依赖于其"宿主"类型跟踪变化 和持久化。一个没有Key属性的类型,并且作为属性映射到一个或多个类型中,Code First就会将其视作为复杂类型。Code First将预设复杂类型的属性出现在宿主类型映射到数据库的表中。”说简单一点就是,项目中有个类A,这个A,会被其他类引用到比如:实体类B 和 实体类C,但是建立数据库的时候 阅读全文
posted @ 2013-05-21 14:36 Rising_Sun 阅读(3541) 评论(2) 推荐(2) 编辑
摘要:对EF Code first 编程模型有了一定的了解之后,通过上一篇简单的例子,通过代码对数据库进行了创建,但是其数据结构都是按照EF默认的约定来创建的。比如:数据库名称:由于上一篇的例子在配置文件中显示设置数据库的连接,因此创建的数据库名称就为连接串中指定的 BookDb。若没有显示指定的话,并使用默认数据库 .\SQLEXPRESS, 则EF生成的数据库名称应该为DbContext 的"命名空间.类名" (DataAccess.BookContext)表名:默认约定均为模型类名的复数形式。如例子中的 Authors 和 Books,没有指定架构名称则采用默认架构名:db 阅读全文
posted @ 2013-05-17 17:22 Rising_Sun 阅读(2058) 评论(1) 推荐(2) 编辑
摘要:最近在学习EF,在园子里面参考了很多大神的文章,自己也看了些电子书,为了加深印象和快速掌握,特作此笔记和总结。一、EF 是什么?Entity Framework的全称为ADO.NET Entity Framework,是在ADO.NET上层实现的ORM(对象关系映射)封装,其技术架构如下图所示:1、 Entity Framework的使用分为连接配置、关系映射、上下文环境定义、数据持久化四步。连接配置:如何与数据库进行连接。我们可以通过连接字符串或者代码进行设置和原来连接ADO.Net 连接数据的方式没有什么太大的区别。关系映射(如上图紫色的部分): (1)SSDL 称之为存储模型... 阅读全文
posted @ 2013-05-14 23:03 Rising_Sun 阅读(2255) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示