0
Я новичок в коде EF и пытаюсь заставить свойство навигации ICollection использовать определенную таблицу отношений, которую я создал вручную для сопоставления объектов.Код EF сначала определяет таблицу отношений для свойства навигации
Причина, по которой я вынужден сделать это, заключается в том, что у меня есть столбец TenantId на всех моих таблицах. Это возможно?
[Table("Tenants")]
public class Tenant
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
// This should use ContactAddressesForTenants table
public virtual ICollection<Address> ContactAddresses {get; set;}
}
[Table("BusinessProfiles")]
public class BusinessProfile
{
[Key, ForeignKey("Tenant")]
public int TenantId { get; set; }
public virtual Tenant Tenant { get; set; }
// This should use the AddressesForBusinessProfiles table
public virtual ICollection<Address> ProfileAddresses { get; set; }
}
[Table("Addresses")]
public class Address
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[ForeignKey("Tenant")]
public int TenantId { get; set; }
}
[Table("ContactAddressesForTenants")]
public class ContactAddressForTenant
{
[ForeignKey("Tenant")]
public int TenantId { get; set; }
[ForeignKey("Address")]
public int AddressId { get; set; }
public virtual Tenant Tenant { get; set; }
public virtual Address Address {get; set;}
}
[Table("AddressesForBusinessProfiles")]
public class AddressForBusinessProfile
{
[ForeignKey("BusinessProfile")]
public int TenantId { get; set; }
[ForeignKey("Address")]
public int AddressId { get; set; }
public virtual BusinessProfile BusinessProfile { get; set; }
public virtual Address Address { get; set; }
}