Я пытаюсь создать таблицу SQL
, чтобы добавить дополнительную информацию о пользователе. Я хочу, чтобы он был создан Миграции в VS2012 (package console => update-database)
.Код элемента Entity Framework Сначала - использование ключа UserId в таблице Memberships/Users как Foreignkey в пользовательской таблице
Я вижу, что есть две таблицы с использованием колонки USERID в качестве ключевых: Memberships and Users tables.
Я пытаюсь определить следующий класс и отобразить его в таблице SQL через Migrator:
[Key]
[Column(Order = 0)]
[ForeignKey("User")]
public Guid **UserId** { get; set; }
[Key]
[Column(Order = 1)]
[ForeignKey("Category")]
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
**public virtual User User { get; set; }**
Хотя очевидно, в таблице SQL пользователей, что столбец UserId является ключом, я получаю это сообщение об ошибке:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'User' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Users' is based on type 'User' that has no keys defined.
Что мне здесь не хватает? Может быть, классы Microsoft.VisualBasic.ApplicationServices.User/System.Web.Security.MembershipUser
не обязательно были сопоставлены с таблицами таким образом и наоборот, а значит, свойство UserId
не объявлено. Key dataannotation?
Я открыт для других решений этой проблемы.
Большое спасибо!