我有实体框架代码优先实体:
public class Customer
{
public long Id { get; set; }
public ICollection<ServiceAccount> Accounts { get; set; }
}
public class Service
{
public long Id { get; set; }
}
public class ServiceAccount
{
public long Id { get; set; }
public Customer Customer { get; set; }
[Required()]
public Service Service { get; set; }
}
假设客户有一些服务帐户。但可能有一些默认账户,这些账户不受任何客户的限制。每个帐户都用于具体的服务。
此实体具有以下配置:
// Customer Configuration:
base.ToTable("Customers");
base.HasKey(x => x.Id);
base.HasMany(x => x.ServiceAccounts)
.WithOptional(x => x.Customer)
.WillCascadeOnDelete();
// For Service:
base.ToTable("Services");
base.HasKey(x => x.Id);
// For Account:
base.ToTable("Accounts");
base.HasKey(x => x.Id);
base.HasOptional(x => x.Customer)
.WithMany(x => x.Accounts);
base.HasRequired(x => x.Service)
.WithMany();
问题是,当我加载一个客户时,他的所有帐户也会加载,但他们的服务设置为空。为什么未加载?
提前感谢