原文地址:http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx

场景1:自定义表名

如果我们定义的类如下

EF Code-First 自定义表映射 _mvc

但是,数据库中的表名不是 Dinner,而是 tblDinners

EF Code-First 自定义表映射 _自定义表映射 _02

最简单的方法是重写 OnModelCreating 方法。

EF Code-First 自定义表映射 _Code-First_03

场景2:映射列和属性

假设在表 tblDinners 中每个列的前面有一个名为 col 的前缀,如图所示。

EF Code-First 自定义表映射 _EF_04

我们仍然希望映射到我们的模型上。

EF Code-First 自定义表映射 _mvc

可以在 OnModelCreating 中进行自定义的映射。

EF Code-First 自定义表映射 _休闲_06

场景3:表中的多个列映射到一个类型中,成为模型的一个属性

假设在 tblDinners 中有关于地址的多个列,城市、国家、街道、邮编,我们希望封装到一个类中。

EF Code-First 自定义表映射 _EF_07

不需要在模型中创建四个属性,我们可以定义一个名为 Address 的类,然后在 Dinner 中定义一个属性即可。

EF Code-First 自定义表映射 _mvc_08

当然,我们需要一些映射。

EF Code-First 自定义表映射 _自定义表映射 _09