Код составных ключей Entity Framework сначала вызывает ошибки при проверке модели - PullRequest
0 голосов
/ 31 октября 2011

Я использую ASP.NET MVC 3 с подходом кода Entity Framework 4, и каждый раз, когда я пытаюсь указать составные ключи, используя атрибут ключа в моих моделях, я получаю эту ошибку:

System.Data.Edm.EdmAssociationConstraint:: Количество свойств в зависимой и основной роли в ограничении отношений должно быть точно одинаковым.

Я использую атрибут столбца, чтобы различать порядок первичнойключи вроде так:

 public class Game
    {
        [Key, Column(Order=0)]
        public Guid GameId { get; set; }
        [Key, Column(Order=1)]
        public string Name { get; set; }
        public string Description { get; set; }
        public Game()
        {
            this.GameId = Guid.NewGuid();
        }
    }

Я хотел бы знать, есть ли другой подход к созданию составных ключей, или, возможно, есть способ прекратить получать эту ошибку?Я знаю, что можно добавить логику в событие OnModelBuild, но я бы лучше использовал ключевые атрибуты в модели, если это возможно.

1 Ответ

0 голосов
/ 01 ноября 2011

Попробуйте исключить свойство Name из ключа сущности (что я бы порекомендовал). Или используйте его во всех сущностях, если вам действительно нужно сделать его частью ключа.

...