我是第一个实体框架代码的品牌,所以任何帮助或方向将不胜感激。如何修改此实体框架代码的第一个代码?
目前,我有以下类:
public partial class Customer
{
public int Id { get; set; }
private ICollection<Address> _addresses;
}
public partial class Address
{
public int Id { get; set; }
public string Street { get; set; };
public string City { get; set; };
public string Zip { get; set; };
}
及以下
public partial class CustomerMap : EntityTypeConfiguration<Customer>
{
public CustomerMap()
{
this.ToTable("Customer");
this.HasKey(c => c.Id);
this.HasMany<Address>(c => c.Addresses)
.WithMany()
.Map(m => m.ToTable("CustomerAddresses"));
}
}
这个工程,我所期望的,并且为该映射创建一个客户,地址和CustomerAddresses表。现在对于我的问题..如果我需要修改代码以生成以下内容,我该怎么办...
我想将CompanyCode属性添加到“CustomerAddresses”表中......然后而不是构造一个地址集合..我想能够构建一个散列表,其中的关键是CompanyCode,并且值是地址的集合。
所以,如果我有以下几点:
Customer
ID C1
Address
ID A1
ID A2
CustomerAddresses
CustomerID C1
AddressID A1
CompanyCode ABC
CustomerID C1
AddressID A2
CompanyCode ABC
CustomerID C1
AddressID A2
CompanyCode XYZ
这样的话,Customer.Addresses [ “ABC”]将返回地址的集合与ID,A1和A2。而Customer.Addresses [“XYZ”]将返回ID为A2的地址集合。
任何方向/帮助将不胜感激...谢谢。
嘿,谢谢你的回复..当你说它会加载完整的集合..你是说,一个特定的客户的完整集合? – ntsue
@ntsue:是的,确切的。 – Slauma
好的,谢谢你,我会试试这个,让你知道..我真的很感谢你把时间和细节放在你的答案中 – ntsue