FluentAPI 配置 T_Persons的方式
1. 数据库中建表 T_Perons,有 Id(主键,自动增长)、Name、CreateDateTime 字段。
2. 创建 Person 类。模型类就是普通 C#类
public class Person
{
public long Id { get; set; }
public string Name { get; set; }
public DateTime CreateDateTime { get; set; }
}
3. 创建一个 PersonConfig 类,放到 ModelConfig 文件夹下(PersonConfig、EntityConfig 这样的名字都不是必须的)
public class PersonConfig:EntityTypeConfiguration<Person> { public PersonConfig() { this.ToTable("T_Persons"); } }
4. 创建 DbContext 类
public class MyContext:DbContext { public MyContext():base("name=constr") { } public DbSet<Person> Person { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly()); } }
下面这句话: modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly() );
代表从这句话所在的程序集加载所有的继承自 EntityTypeConfiguration 为模型配置类。
还有很多加载配置文件的做法(把配置写到 OnModelCreating 中或者把加载的代码写 死到 OnModelCreating 中),但是这种做法是最符合大项目规范的做法。
和以前唯一的不同就是:模型不需要标注 Attribute;编写一个 XXXConfig 类配置映射关系; DbContext 中 override OnModelCreating;
5. 以后的用法和以前一样。
6. 多个表怎么办?创建多个表的实体类、Config 类,并且在 DbContext 中增加多个 DbSet 类型的属性即可。
内容原创于http://www.cnblogs.com/landfill/

浙公网安备 33010602011771号