私は最初にEntityFrameworkコードを初めて使用するので、助けや指示をいただければ幸いです。
現在、次のクラスがあります。
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"));
}
}
これは私が期待するとおりに機能し、マッピング用のCustomer、Address、および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"]は、IDA2のアドレスのコレクションを返します。
どんな方向性/助けも大歓迎です...ありがとう。