2013-08-12 2 views
0

У меня есть некоторые проблемы с First Code и Migrations.Код Первый: таблицы UserData и пользователя

У меня есть класс User и класс UserData (с дополнительной информацией, например, имя/фамилия), но когда я пытаюсь запустить команду «Add-Migration» или «Update-Database», я получаю несколько ошибок.

Я создал класс пользователя:

public class User 
{ 
    public int ID { get; set; } 
    public string UserName { get; set; } 
    public string EmailAddress { get; set; } 
    public DateTime DateOfBirth { get; set; } 

    public UserData UserData { get; set; } 
    public int UserDataID { get; set; } 
} 

и класс UserData:

public class UserData 
{ 
    public int ID { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string City { get; set; } 
    public string Country { get; set; } 
} 

С этой установкой я получаю ошибку:

Multiple identity columns specified for table 'Users'. Only one identity column per table is allowed.

при попытке запуска " Update-Database '(команда «Add-Migration» работает нормально).

я уже пытался добавить public User User { get; set; } и public int UserID { get; set; } к UserData.cs, ​​но потом я получаю сообщение об ошибке с «Add-миграция» команда:

Unable to determine the principal end of an association between the types 'UserData' and 'User'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations

Любая идея, как это исправить?

Заранее спасибо.

ответ

1

Удалить UserDataID с пользовательского класса, в этом нет необходимости. Кроме того, сделать так, чтобы public virtual UserData UserData { get; set; } EF бы заполнить его для вас, когда вы получаете доступ FirstName и т.д.

+0

Хм, все еще получают ошибку :( – Zaggo0

+1

Тех же ошибок? 'UserData' класс не должен иметь ничего ссылающегося пользователь.' User' класс должен иметь только 'public virtual UserData UserData {get; set;}'. Пожалуйста, отправьте точные ошибки. –

+0

А, спасибо! – Zaggo0