我使用波苏斯有实体框架的一些问题,我希望有人能在较高的水平告诉我,如果我看到的行为是正常的或者我需要更深入地研究它的原因。
我有一类Customer
和其他CustomerType
,让Customer
有一个属性Type
(类型CustomerType
指示型)和CustomerType
具有财产Customers
是集合Customer
S(所有的Customer
即有S型),因此,这些都是基本的导航上的关联的两端,造成POCO代码类似的属性:
public partial class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public int TypeId { get; set; }
public CustomerType Type { get; set; }
}
public partial class CustomerType
{
public CustomerType()
{
this.Customers = new HashSet<CustomerType>();
}
public int Id { get; set; }
public string TypeName { get; set; }
public virtual ICollection<Customer> Customers { get; set; }
}
我已经关闭了代理的创建和惰性加载(即两个DbContext.Configuration.ProxyCreationEnabled=false
和DbContext.Configuration.LazyLoadingEnabled=false
),因为它们使系列化痛苦。
正如当我从一开始预期的情况下, Customer
集中, Type
上它们属性默认为空。
但是,如果我得到的实例从Customer
与一组.Include("Type")
不仅是它装载Type
的属性,但它也装载了孩子-也就是收集Customer
S于每一项。
这个预期?