原文地址:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx

EF 6 Code-First系列文章目录:

在前面的章节中,我们学习了Code-First默认的约定。Code-First使用默认的约定,从你的领域类中生成概念模型。EF 6 Code-First利用了一种称为约定优先于配置的编程模式。但是,你可以通过配置你的领域模型,来重写这些默认约定以提供EF所需要的信息。有两种方式来配置你的领域类:

1.Data Annotation Attributes【数据注解特性】 

2.Fluent API

数据注解特性

数据注解是一种基于配置的简单特性,你可以应用于你的领域类以及领域类的属性上。数据注解特性,不仅适用于EF、还适用于ASP.NET Web Form以及ASP.NET MVC,数据注解特性包含在System.ComponentModel.DataAnnotations.命名空间下。

下面的例子,列举出了一些数据注解特性的例子:

需要注意的是:数据注解特性,并不支持EF中所有的配置选项。所以你可以使用Fluent API,Fluent API提供了EF中所有的配置选项。

Fluent API

另外的配置领域类的方式就是使用EF中的Fluent API。EF Fluent API是基于Fluent API设计模式的(a.k.a Fluent Interface),Fluent API就是通过方法链式调用的。

当EF从领域类构建模型时,就可以应用Fluent API配置。你可以通过重写DBContext类的OnModelCreating方法,以注入Fluent API 相关配置。例如:

你可以使用DbModelBuilder类的 modelBuilder对象来配置领域类、这个DbModelBuilder就称为Fluent API,因为你可以链式调用各种不同的方法。

后面的章节中,你将了解Fluent API更多详细的细节。

这篇文章就介绍结束了,大家有什么问题,欢迎与我讨论,一起进步,谢谢支持!

8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)的更多相关文章

  1. 11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-fi ...

  2. 12.翻译系列:EF 6 中配置一对多的关系【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-f ...

  3. 6.Configure Domain Classes(配置领域类)【EF Code-First 系列】

    在前面的部分中,我们学习了Code-First默认约定,Code-First使用默认的约定,根据你的领域类,然后生成概念模型. Code-First模式,发起了一种编程模式:约定大于配置.这也就是说, ...

  4. EF CodeFirst配置领域类

    当我们不想使用EF的默认约定时,可以手动配置领域类,但还是推荐少配置,Simple is best! 两种配置方式: 1.Data Annotation Attributes[数据注解特性]  数据注 ...

  5. 【转载】 [unreal4入门系列之七] UE4中的Actor类和Pawn类

    原文地址: http://www.52vr.com/article-558-1.html 现在我们开始进入UE4的代码开发工作.首先,UE4的类框架是非常庞大的,看起来有点让人措手不及.不过正因为UE ...

  6. CentOS7系列--5.3CentOS7中配置和管理Kubernetes

    CentOS7配置和管理Kubernetes Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将D ...

  7. CentOS7系列--5.2CentOS7中配置和管理Docker

    CentOS7配置和管理Docker Docker是操作系统级别的虚拟化工具,它能自动化布署在容器中的应用 1. 安装Docker 1.1. 安装Docker相关软件 [root@server1 ~] ...

  8. CentOS7系列--5.1CentOS7中配置和管理KVM

    CentOS7配置和管理KVM 安装与配置虚拟化软件KVM ( Kernel-based Virtual Machine ) + QEMU,它要求计算机的CPU支持Intel VT or AMD-V功 ...

  9. CentOS7系列--3.2CentOS7中配置iSCSI服务

    CentOS7配置iSCSI服务 在网络上的存贮服务为iSCSI Target,而连接到iSCSI Target服务的叫iSCSI Initiator 1. 直接配置iSCSI Target服务 1. ...

随机推荐

  1. BZOJ1406 [AHOI2007]密码箱 数论

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1406 题意概括 求所有数x,满足 x<n 且 x2≡1 (mod  n). n<=2 ...

  2. python tkinter-单选、多选

      单选按钮 tkinter.Radiobutton(root,text='a').pack() tkinter.Radiobutton(root,text='b').pack() tkinter.R ...

  3. 教程:在 Visual Studio 中开始使用 Flask Web 框架

    教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...

  4. HDU-1421 搬寝室【dp】

    题目链接:https://vjudge.net/contest/214662#problem/E 题目大意:                                               ...

  5. Mongodb - 二进制安装

    0.概述 mongodb版本:4.0.2 linux版本:redhat 6.5 安装方式:二进制安装 1.关闭防火墙 /etc/init.d/iptables status/etc/init.d/ip ...

  6. 汉化 android studio

    Analyze APK...android.jar\com\android\tools\idea\apk\viewer AnalyzeApkAction.class

  7. BZOJ.3884.上帝与集合的正确用法(扩展欧拉定理)

    \(Description\) 给定p, \(Solution\) 欧拉定理:\(若(a,p)=1\),则\(a^b\equiv a^{b\%\varphi(p)}(mod\ p)\). 扩展欧拉定理 ...

  8. 数据结构+算法面试100题~~~摘自CSDN

    数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...

  9. Node 从安装到跑项目

    1,下载 node 链接地址:http://nodejs.cn/ 假设安装到 C:\Program Files\nodejs 2, 设置npm安装程序时的默认位置 npm config set pre ...

  10. Tcp端口以及端口相关协议详解

    http://www.codeweblog.com/tcp%e5%b8%b8%e7%94%a8%e7%ab%af%e5%8f%a3/