欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)

程序员文章站 2022-03-20 09:37:29
原文地址:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx 在前面的章节中,我们学习了Code-First默认的约定。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.命名空间下。

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

8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)

需要注意的是:数据注解特性,并不支持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 相关配置。例如:

8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)

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

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

 

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