标签:
1.复杂类型(complex types)
复杂类型是定义Entity列集合的类,没有主键,不直接映射表。在类中定义复杂类型时,必须为非集合类型。
看实例,我们在前面几篇学习中的实例中添加Address类
public class Address { public string Street { get; set; } public string City { get; set; } public string State { get; set; } } public class AddressMap : ComplexTypeConfiguration<Address> { public AddressMap() { Property(p => p.Street) .HasColumnName("Street"); Property(p => p.City) .HasColumnName("City"); Ignore(p => p.State);//忽略State对表列的映射,在数据库表中不会有此列 } }
在People类中添加属性。注意一点的是添加属性后必须在构造函数中初始化,否则会异常
public Address Address { get; set; }//必须为集合属性
public Person() { Phones = new HashSet<Phone>(); CompanyList = new HashSet<Company>(); Address = new Address();//必须初始化 }
记得在Context中注册AddressMap
modelBuilder.Configurations.Add(new AddressMap());
那么我们在数据中怎么对应?我们需要在People表中增加Street列和City列,结构如下
标签:
原文地址:http://www.cnblogs.com/zjmsky/p/4827865.html