摘要: Primary Key 默认情况下EF会将实体类中属性名称为Id或<class name>Id的属性作为主键,若是采用其他格式的跟随Id命名的属性,将会抛出异常,如下stdId并不是全称,将会抛出 Foreign Key 在EF中有导航属性,若没有指定外键属性,则系统自动为导航属性设置外键属性,当然 阅读全文
posted @ 2017-10-10 11:20 Terrence_Sun 阅读(385) 评论(0) 推荐(0) 编辑
摘要: Relationship EF支持三种类型的实体关系有1对1(0)、1对多、多对多,当在实体一端定义导航属性(navigation),则会自动定义为one-to-many关系。 关联端重数值: 一(1):表明在关联端存在且只存在一个实体类型实例 零或一(0…1):表明在关联端不存在实体类型或存在一个 阅读全文
posted @ 2017-07-03 11:50 Terrence_Sun 阅读(612) 评论(0) 推荐(0) 编辑
摘要: Inheritance Stategy 1) 将实体类型的CLR属性映射到数据库中的多个表(实体拆分) 实体拆分允许一个实体类型的属性分散在多个表中,如Department实体类拆分到两个表中:Department(表里存放DepartmentID和Name字段)和DepartmentDetails 阅读全文
posted @ 2017-05-23 09:40 Terrence_Sun 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Fulent Fulent是配置领域模型类的另一个方法,它比DataAnnotations提供更多的配置,提供以下三种方法映射 Mappings To Database Model-Wide Mapping 设置默认架构,设置经典约束 Entity Mapping 映射单个或多个表格或架构,映射复杂 阅读全文
posted @ 2017-05-23 09:34 Terrence_Sun 阅读(356) 评论(0) 推荐(0) 编辑
摘要: DataAnnotations 在web开发中不仅在客户端需要执行验证逻辑,会对会对用户向表单中输入的数据给出一个即时反馈;且在服务器端也需验证逻辑,因为来自网络的信息都是不能信任的。在MVC中通常是采用数据注解的特性来解决验证逻辑,大部分主要来自于System.ComponentModel.Dat 阅读全文
posted @ 2017-05-23 09:25 Terrence_Sun 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Database Initialization 下图是数据库初始化的工作流 EF为数据库初始化准备了多种策略: l CreateDatabaseIfNotExists:这是默认的初始化策略 l DropCreateDatabaseAlways:总是创建数据库,不管数据库中是否存在数据,每次应用程序启 阅读全文
posted @ 2017-05-16 11:04 Terrence_Sun 阅读(280) 评论(0) 推荐(0) 编辑
摘要: DbContext 数据库上下文DbContext是ObjectContext代表之一负责管理在运行时从数据库取数据、跟踪数据库的变更、对实体类映射到数据中持久化操作等,表示工作单元和存储库模式的组合,可用来查询数据库并将更改组合在一起,这些更改稍后将作为一个单元写回存储区。 1.使用原则 通常与D 阅读全文
posted @ 2017-05-16 11:00 Terrence_Sun 阅读(153) 评论(0) 推荐(0) 编辑
摘要: LocalDB 面向开发人员的SQL Server Express的执行模式,它的安装将复制启动SQL Server数据库引擎所需的最少文件集且使用特定连接字符串来启动连接,它是可以创建和打开SQL Server数据库实例,数据库系统数据库文件存储在用户本地AppData路径中(如在VS2013以下 阅读全文
posted @ 2017-05-16 10:49 Terrence_Sun 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 实体框架(EF6.X)是一种对象/关系映射器(O/R Mapping解决方案),一套支持开发面向数据的软件应用技术,采用特定域对象和关系数据形式使用数据,而不必考虑存储这些数据的基础数据库表和列,上层的用户端提供EntityClient、OjectContext及LinqToEntity支持 利用抽 阅读全文
posted @ 2017-05-16 10:42 Terrence_Sun 阅读(462) 评论(0) 推荐(0) 编辑