码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Framework学习四:查询和建模进阶

时间:2015-09-22 07:45:06      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

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列,结构如下

技术分享

Entity Framework学习四:查询和建模进阶

标签:

原文地址:http://www.cnblogs.com/zjmsky/p/4827865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!