Сначала я использую код EF4 и хочу создать составной ключ, состоящий из свойства класса и внешнего ключа. У меня есть два класса: Order и Company. Класс Order содержит ссылку, но она не обязательно будет уникальной для разных компаний. Поэтому я намерен использовать составной ключ, состоящий из Reference и Company.CompanyId.
Я попытался использовать следующее, чтобы установить его, но получаю сообщение об ошибке «Выражение ключа недопустимо».
modelBuilder.Entity<Order>().HasKey(o => new { o.Reference, o.Company.CompanyId });
я тоже пробовал
modelBuilder.Entity<Order>().HasKey(o => new { o.Reference, o.Company });
и это не удается.
это мои классы:
public class Order
{
public string Reference { get; set; }
public Company Company { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
public virtual ICollection Orders { get; set; }
}
Любая помощь будет принята с благодарностью.