我首先是 Entity Framework 代码的新手,因此非常感谢任何帮助或指导。
我目前有以下课程:
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"] 将返回 ID 为 A2 的地址集合。
任何方向/帮助将不胜感激......谢谢。