摘要: 在上一篇文章中,简单的介绍了使用Fluent API如何管理一对一的实体关系,在这篇文章中,接着介绍Fluent API如何管理一对多的实体关系。 要在数据库中配置一对多关系,我们可以依赖EF约定,还可以使用数据注解或Fluent API来显式创建关系。接下来使用捐赠者Donator和支付方法Pay 阅读全文
posted @ 2019-07-08 17:32 大锅锅 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 我们现在已经知道如何使用Code First来定义简单的领域类,并且如何使用DbContext类来执行数据库操作。现在我们来看下数据库理论中的多样性关系,我们会使用Code First来实现下面的几种关系: 1、一对一关系: one to one 2、一对多关系: one to many 3、多对多 阅读全文
posted @ 2019-07-08 17:31 大锅锅 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 一、配置主键 要显式将某个属性设置为主键,可使用 HasKey 方法。在以下示例中,使用了 HasKey 方法对 Product 类型配置 ProductId 主键。 1、新加Product类 1 using System; 2 using System.Collections.Generic; 3 阅读全文
posted @ 2019-07-08 17:29 大锅锅 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 在前面的几篇文章中,简单的介绍了如何使用Entity Framework的Code First模式创建数据库,但是,在前面的几篇文章中,我们都是通过使用数据库初始化策略来做,也就是每次先删除数据库然后在创建,这样才能把新增加的字段信息更新到数据库,在测试的时候可以做,但是在正式的生产环境中就不能使用 阅读全文
posted @ 2019-07-08 17:29 大锅锅 阅读(301) 评论(0) 推荐(1) 编辑
摘要: 在上一篇文章中讲了如何使用fluent API来创建数据表,不知道你有没有注意到一个问题。上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很多,但也不算很少,如果我们有1000个类怎么办?都写在这一个方法中肯定不好维护。EF提供了另一种方式来解决这个问题,那 阅读全文
posted @ 2019-07-08 17:28 大锅锅 阅读(351) 评论(0) 推荐(0) 编辑
摘要: DbContext类有一个OnModelCreating方法,它用于流利地配置领域类到数据库模式的映射。下面我们以fluent API的方式来定义映射。首先,先将Product类注释掉,重新编写该类,重新编写后的Product类: 1 using System; 2 using System.Col 阅读全文
posted @ 2019-07-08 17:26 大锅锅 阅读(2910) 评论(0) 推荐(1) 编辑
摘要: 一、理解Code First及其约定和配置 传统设计应用的方式都是由下而上的,即我们习惯优先考虑数据库,然后使用这个以数据为中心的方法在数据之上构建应用程序。这种方法非常适合于数据密集的应用或者数据库很可能包含多个应用使用的业务逻辑的应用。对于这种应用,如果要使用EF的话,我们必须使用Databas 阅读全文
posted @ 2019-07-08 17:25 大锅锅 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users”,多数情况下我们并不想生成的数据库表名为复数形式,那么应该如何来控制呢? 当我们想要自定义一些数据库表的生成规则的时候,会重写OnModelCreat 阅读全文
posted @ 2019-07-08 17:24 大锅锅 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 使用Code First模式实现给实体类添加复合主键,代码如下: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel.DataAnnotations; 4 using System.Com 阅读全文
posted @ 2019-07-08 17:23 大锅锅 阅读(1935) 评论(0) 推荐(0) 编辑
摘要: EF的核心程序集位于System.Data.Entity.dll和System.Data.EntityFramework.dll中。支持CodeFirst的位于EntityFramework.dll中。通常使用NuGet Package Manager来添加这些程序集。 如果没有数据库:1、先写代码 阅读全文
posted @ 2019-07-08 17:20 大锅锅 阅读(491) 评论(0) 推荐(0) 编辑