我是第一個實體框架代碼的品牌,所以任何幫助或方向將不勝感激。如何修改此實體框架代碼的第一個代碼?
目前,我有以下類:
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