Ошибка Entity Framework 6 - ключ не определен

1

Я получаю следующую ошибку в компиляторе:

MySite.DAL.ContentArticleSubdivision: : EntityType 'ContentArticleSubdivision' has no key defined. Define the key for this EntityType.
ContentArticleSubdivision: EntityType: EntitySet 'ContentArticleSubdivision' is based on type 'ContentArticleSubdivision' that has no keys defined.

однако я определил ContentArticleSubdivision следующим образом:

public partial class ContentArticleSubdivision
{
    public long ContentArticleId { get; set; }
    public int SubdivisionId { get; set; }

    public virtual ICollection<Subdivision> Subdivisions { get; set; }
}

где ContentArticleId является внешним ключом к "ContentArticle", который определяется следующим образом:

public partial class ContentArticle
{
    [KeyAttribute] /* needed for FreeTextSearch class - if used */
    public long Id { get; set; }

Я понимаю, так как я назвал свое свойство Foreign Key в форме <LinkedEntityTypeName><PrimaryKeyField>, то есть у меня есть свойство ContentArticleId, где это связано с "Идентификатором", как определено в модели "ContentArticle", EF поймет, что ContentArticleId должен быть иностранным ключом. Что мне не хватает?

  • 1
    Есть ли первичный ключ в таблице подразделений?
  • 0
    Нет, не было - это оказалось проблемой. Я изначально создал это как таблицу ссылок, которая просто содержала два внешних ключа для таблиц, которые он связывал. Добавление первичного ключа исправило это. Если вы добавите это как ответ, я отмечу это как правильный, спасибо.
Теги:
entity-framework-6

1 ответ

2
Лучший ответ

Entity требуется первичный ключ в любой таблице, добавив его в определенную таблицу, указанную в ошибке, чтобы решить проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню