私は次のCustomer
クラスを持っています:
public class Customer : EntityBase<Customer>
{
public virtual int ID { get; set; }
public virtual CustomerType CustomerType { get; set; }
public virtual string CompanyName { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual ICollection<Address> BillingAddresses { get; set; }
public virtual ICollection<Address> ShippingAddresses { get; set; }
}
クラスは次のAddress
ようになります。
public class Address : EntityBase<Address>
{
public virtual int ID { get; set; }
public virtual AddressType AddressType { get; set; }
public virtual bool IsDefault { get; set; }
public virtual string Name { get; set; }
public virtual string Line1 { get; set; }
public virtual string Line2 { get; set; }
public virtual string Line3 { get; set; }
public virtual string City { get; set; }
public virtual string State { get; set; }
public virtual string ZipCode { get; set; }
public virtual string Country { get; set; }
public virtual int CustomerID { get; set; }
public virtual Customer Customer { get; set; }
}
顧客クラスに各種類の住所を複数持つことができるようにしたいのですが、それを理解するのに苦労しています。
各タイプのデフォルトアドレスを取得するには、このようなものになりたいと思います。
public Address DefaultBillingAddress
{
get
{
return BillingAddresses.First(x => x.IsDefault == true);
}
}
AddressType
私が抱えている問題は、それぞれの列挙型の違いをどのように見分けるICollection
かです。