I'm stuck at trying to write the Entity Framework 4.1 code first model for the following DB relationship.
Here is a visual of the relationship.
dbo.[Companies] can have either Seller or Debtor as Company Types.
dbo.[SellerDebtors] defines the connection a Seller Company has with a Debtor Company.
The code i've written is based on my original EF 4.0 POCO model code. This is what I've come up with - This code does not work.
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; }
}
At the moment, I'm getting this as an error:
System.Data.SqlClient.SqlException: Invalid column name 'DebtorCompany_CompanyId'.
Invalid column name 'SellerCompany_CompanyId'.
Invalid column name 'Company_CompanyId'.
Invalid column name 'Company_CompanyId1'.
Ideally, I'd like to be able to maintain the naming of the relationships.
I'm guessing i need to set some attributes but i'm not sure what to set.