EntityTypeConfiguration Class in Code-First【Code First系列】

在我们学习Fluent API之前,先来看看Fluent API中重要的类--EntityTypeConfiguration吧。

EntityTypeConfiguration类是Fluent API 中重要的类,这个类提供了重要的属性和方法来配置领域类,让我们可以不用按照约定的Code-First那样的配置来,配置我们的领域类。

EntityTypeConfiguration类型可以通过调用DbModelBuilder类中的Entity<TEntity>()泛型方法得到。

EntityTypeConfiguration类,有下面比较重要的方法。

Method Name Return Type Description
HasKey<TKey> EntityTypeConfiguration Configures the primary key property(s) for this entity type.【配置主键】
HasMany<TTargetEntity> ManyNavigationPropertyConfiguration Configures a many-to-many relationship from this entity type.【配置多对多的关系】
HasOptional<TTargetEntity> OptionalNavigationPropertyConfiguration
Configures an optional relationship from this entity type. Instances of the entity type can be saved to the database without this relationship being specified. The foreign key in the database will be nullable.

【配置可选的关系,实体的类型可以被保存到数据库,不用特别指定关系,数据库中的外键列将会是可空的。】

HasRequired<TTargetEntity> RequiredNavigationPropertyConfiguration
Configures a required relationship from this entity type. Instances of the entity type will not be able to be saved to the database unless this relationship is specified. The foreign key in the database will be non-nullable.

【配置必须关系,实例不会保存到数据库,除非关系指定。数据库的外键列,将会是不能为空的。】

Ignore<TProperty> Void
Excludes a property from the model so that it will not be mapped to the database.

【标注了这个Ignore特性的属性,不会映射到数据库中。】

Map EntityTypeConfiguration
Allows advanced configuration related to how this entity type is mapped to the database schema.

【允许高级的配置将这个实体类型映射成数据表】

Property<T> StructuralTypeConfiguration
Configures a struct property that is defined on this type.

【配置属性】

ToTable Void
Configures the table name that this entity type is mapped to.

【配置实体,映射成的表名】

要了解更多关于这个EntityTypeConfiguration类的信息,请看MSDN, EntityTypeConfiguration

时间: 2024-10-14 00:37:08

EntityTypeConfiguration Class in Code-First【Code First系列】的相关文章

#Leet Code# Gray Code

描述: 要求相邻数2进制差一位 先获得n-1的列表表示小于 2^(n-1) 的符合要求的列表,加上最高位的加成 2^(n-1) 就是大于等于 2^(n-1) 的符合要求的列表,后者翻转一下就能够与前者连接上了 代码: 1 class Solution: 2 # @return a list of integers 3 def grayCode(self, n): 4 if n == 0: return [0] 5 6 s1 = self.grayCode(n - 1) 7 s2 = [item

jQuery选择器中,通配符[id^=&#39;code&#39;]input[id$=&#39;code&#39;][id*=&#39;code&#39;]

1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");//id属性以code结束的所有input标签 $("input[id*='code']");//id属性包含code的所有input标签 (2)根据索引选择 $("tbody tr:even"); //选择索引为偶数的所有tr标签 $("tbody

Fortify漏洞之Dynamic Code Evaluation: Code Injection(动态脚本注入)和 Password Management: Hardcoded Password(密码硬编码)

继续对Fortify的漏洞进行总结,本篇主要针对  Dynamic Code Evaluation: Code Injection(动态脚本注入) 和 Password Management: Hardcoded Password(密码硬编码)  的漏洞进行总结,如下: 1.1.产生原因: 许多现代编程语言都允许动态解析源代码指令.这使得程序员可以执行基于用户输入的动态指令.当程序员错误地认为由用户直接提供的指令仅会执行一些无害的操作时(如对当前的用户对象进行简单的计算或修改用户的状态),就会出

Unity 和 Visual Studio Code ( VS Code ) 第三弹 - Unity Debugger Extension Preview

孙广东   2015.12.5 要想实现这样的调试需要  vs Code 的 一个扩展. Release Notes Version 0.1.0: 可以使VS code 附加到 Unity editor. Download unity-debug-0.1.0.zip Install instructions 安装 Visual Studio Code 0.10 或者更高 . 下载 unity-debug zip-file 并解压为:  "unity-debug"  文件夹  . (pa

Visual Studio Code -VS Code

VS Code 免费开源的编辑器,支持 windows. mac. Linux. 微软出品 官网:https://code.visualstudio.com/ 下载地址:https://code.visualstudio.com/download 刚安装好 就会提示你安装中文语言包,然后实现界面全中文化. 不愧是微软出品 选择打开文件夹 来打开项目 打开终端:control + ` 常用插件: vscode-icons 安装后 重新加载并不生效,需要在 Code->首选项->文件图标主题中 选

修复使用&lt;code&gt;XmlDocument&lt;/code&gt;加载含有DOCTYPE的Xml时,加载后增加“[]”字符的错误

C# LINQ TO XML - Remove “[]” characters from the DTD header http://stackoverflow.com/questions/12358061/c-sharp-linq-to-xml-remove-characters-from-the-dtd-header public static void FixDocumentType(this XmlDocument xml) { if (xml?.DocumentType == null

C# Meta Programming - Let Your Code Generate Code - Introduction of The Text Template Transformation Toolkit(T4)

<#@ template language="C#" #> <#@ output extension=".cs" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <# Type[] types_to_generate = new[] { typeof(object), t

C# Meta Programming - Let Your Code Generate Code - 利用反射重写自动的ToString()

我们在写一些Model的时候,经常会重写ToString,为了在控制台中进行打印或者更好的单元测试. 但是,如果Model的字段非常多的时候,如此简单的重复劳动经常会变成一件令人头痛的事情,因为大家 都不想重复劳动,或者这种事情应该交给初级程序员或者毕业生去做. 看如下: public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public int Age

华三无线断开日志code(Reason code is 3)

0            保留1            没有明确的原因2            之前的链路认证无效3            无线客户端离开或者被去认证4            空闲超时掉线或都没有收到assoc response的ACK5            由于资源不足拒绝关联6            从还没有通过链路认证的客户端收到了不合理报文7            从还没有通过链路关联的客户端收到了不合理报文8            无线客户端离开或者被去关联9