Сначала несколько внешних ключей, указывающих на одну и ту же таблицу в коде Entity Framework 4.1

Я застрял в попытке написать первую модель кода Entity Framework 4.1 для следующей связи БД.

Вот визуальное представление этой взаимосвязи. enter image description here

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'.

В идеале я хотел бы иметь возможность поддерживать именование отношений.

Я предполагаю, что мне нужно установить некоторые атрибуты, но я не уверен, что установить.

17
задан sf. 16 May 2011 в 10:21
поделиться