Я застрял при попытке написать первую модель кода Entity Framework 4.1 для следующих отношений с БД.
Вот визуальный пример отношения.
dbo. [Компании] могут иметь в качестве типов компаний продавца или должника.
dbo. [SellerDebtors] определяет связь, которую компания продавца имеет с компанией-должником.
Код, который я написал, основан намой оригинальный код модели EF 4.0 POCO.Это то, что я придумал - этот код не работает.
public class SellerDebtor
{
public int SellerDebtorId { get; set; }
public int DebtorCompanyId { get; set; }
public int SellerCompanyId { get; set; }
public Company DebtorCompany { get; set; }
public Company SellerCompany { get; set; }
public ICollection<SellerDebtorInfo> SellerDebtorInfos { get; set; }
public ICollection<SellerDebtorFile> SellerDebtorFiles { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
public string CompanyType { get; set; }
public string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
public virtual ICollection<CompanyInfo> CompanyInfos { get; set; }
public virtual ICollection<CompanyFile> CompanyFiles { get; set; }
public virtual ICollection<SellerDebtor> SellerDebtorDebtorCompanies { get; set; }
public virtual ICollection<SellerDebtor> SellerDebtorSellerCompanies { get; set; }
}
В настоящий момент я получаю сообщение об ошибке:
System.Data.SqlClient.SqlException: Invalid column name 'DebtorCompany_CompanyId'.
Invalid column name 'SellerCompany_CompanyId'.
Invalid column name 'Company_CompanyId'.
Invalid column name 'Company_CompanyId1'.
В идеале я хотел бы иметь возможность поддерживать именование отношений.
Я предполагаю, что мне нужно установить некоторые атрибуты, но я не уверен, что установить.