一. 前言 沉寂了约一个月的时间,今天用一篇简单的文章重新回归博客,主要来探讨一下Fluent Api模式在实际项目中的使用流程. 1. Fluent API属于EF CodeFirst模式的一种,EF还有一种模式是DataAnnotations,两种模式各有千秋吧,前面的EF系列已经详细介绍过他们的使用了,本节主要介绍 Fluent API模式在实际框架中的使用流程. 本节需要用到的技术有: ①:EF的三种模式(四) 之 原生正宗的 CodeFirst模式的默认约定 ②:EF的CodeFirs…
假设有两张表:A表和B表.A表与B表在数据库中的关系是一对多,但我们需要在EF中映射为一对一. 首先在A实体类和B实体类中互相为对方增加一个实体类的属性: public A { public B B {get;set;} } public B{ public A A {get;set;} } 然后在A的Config文件里用Fluent API配置: public class AConfig :EntityTypeConfiguration<A>{ public AConfig(){ HasOp…
现在使用多数的数据库是关系型数据库,那么表与表之间的关系就会显得尤其重要,对于数据的CRUD处理和以后数据的分析有很大的好处.下面是对于数据库中对表关系的理解以及在EF中使用Fluent API来创建这种关系的例子. 数据库中实体之间的联系 书中语录:在现实世界中,事务内部以及事务之间是有联系的,这些联系在计算机里面叫做实体之间的联系和实体内部的联系,内部的联系就是组成实体属性之间的联系,而实体之间的联系可以分为三类.(1:1, 1:n, n:n) 一:一对一联系(1:1) A实体集中每一个实体…
多对多配置 先安装 Install-Package MySql.Data.EntityFrameworkCore 创建3个表 创建类 public class Role { public long Id { get; set; } public string Name { get; set; } } public class User { public long Id { get; set; } public string Name { get; set; } } public class Us…
1.FluentApi简介 在这里提供了一个fluentapi基础的DEMO然后咱们在进一步的学习,直接上干货. 第一步在数据库创建一个表:person 第二步:新建控制台程序FluentAPI 第三步:创建person 类 第三步:创建pensonConfig 类 第四步:创建DBContext 第五步:应用 下面我们进行高级学习  什么是Fluent API? 官方答案:EF 中内嵌的约定将 POCO 类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体映射到约定指示外的其他对象,所以…
前两篇简单谈了一些.Net Core的优势以及机构设计的一些思路,这一篇开始,我们将从零开始搭建架构,底层我们将采用EF来访问数据库,所以这篇我们将贴一下EF常用操作的基类. 简单介绍下一些类库将要实现的功能: Business:业务实现层 Domains:实体(Model) Service:接口 Data:数据库访问(EF或其他) EasyCacheing:开源缓存管理 Tools:工具类库 其他的我们用到的时候再说: 接着说EF常用操作基类,我们将基类放在Data下,具体目录结构如下: Ba…
1.生成过滤的表达式目录树 protected virtual Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>() where TEntity : class { //构建的表达式目录树 TEntity就是满足条件的每个实体表 Expression<Func<TEntity, bool>> expression = null; //根据租户ID进行过滤数据 //exp…
定义一个继承自EntityTypeConfiguration<>泛型类的类来定义domain中每个类的数据库配置,在这个自定义类的构造函数中使用我们上次提到的那些方法配置数据库的映射. 映射实例 this.HasRequired(s => s.Company).WithMany().HasForeignKey(s => s.CompanyId); this.HasOptional(s => s.User).WithMany().HasForeignKey(s => s.…
我们在使用EF CodeFirst 模式生成数据库的时候进行表的代码映射关系可以采用注解模式和Fluent API模式.这里就是记录一下使用Fluent API进行表关系映射的方法. 注解模式: 回顾一下我们以前都知道的注解模式,一个表,在表的字段上和表上增加相应的注解进行映射即可: [Table("SysErrorLogInfor")] public partial class SysErrorLogInfor { [Key] public string id { get; set;…
ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java.PHP,当年Web项目并不很重视体验,没有今天响应式,没有各种前端js框架,所以在当年的WebForm,微软是以引以为豪的. 该框架毕竟有时代局限性,随着前端的崛起,随着人们对项目体验…