Я только позволили миграции в моем проекте и добавил несколько полей UserProfile
:миграции не изменяет мой стол
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string Description { get; set;}
public DateTime? CreatedOn { get; set; }
public DateTime? LastAccess { get; set; }
}
Я Add-migration AddFieldsForUserProfile
и создал:
...
public override void Up()
{
AddColumn("dbo.UserProfile", "Email", c => c.String());
AddColumn("dbo.UserProfile", "Description", c => c.String());
AddColumn("dbo.UserProfile", "CreatedOn", c => c.DateTime());
AddColumn("dbo.UserProfile", "LastAccess", c => c.DateTime());
}
...
Update-database -verbose
дали этот вывод:
Target database is: 'Hifi.Models.HifiContext' (DataSource: (localdb)\v11.0, Provider: System.Data.SqlClient, Origin: Convention).
Applying code-based migrations: [201303311011083_AddFieldsForUserProfile].
Applying code-based migration: 201303311011083_AddFieldsForUserProfile.
ALTER TABLE [dbo].[UserProfile] ADD [Email] [nvarchar](max)
ALTER TABLE [dbo].[UserProfile] ADD [Description] [nvarchar](max)
ALTER TABLE [dbo].[UserProfile] ADD [CreatedOn] [datetime]
ALTER TABLE [dbo].[UserProfile] ADD [LastAccess] [datetime]
[Inserting migration history record]
Running Seed method.
Очевидно, все прошло хорошо, но после получения эрро r, что coloumn CreatedOn не существует, я заглянул в базу данных с помощью Server Explorer и, действительно, все 4 coloumns отсутствуют в моей таблице UserProfile
. Что я сделал не так?
Редактировать
Я нашел свою ошибку. Как-то у меня было два разных файла mdf
aspnet-Hifi-20130330054424.mdf
и Hifi.Models.HifiContext.mdf
, у которых был тот же размер файла, и я предположил, что оба они необходимы. Мой проводник сервера использовал aspnetxx.mdf
, и изменения базы данных были сделаны в HifiContext.mdf
. Мне стыдно.
В связи с примечанием у меня возникли проблемы с правильным отображением списка всех зарегистрированных пользователей. Он всегда был пустым, я мог войти в систему безупречно. Почему-то для входа в систему aspnetxx.mdf
был запрошен, но мой MemberListController
запросил HifiContext.mdf
. После изменения строки подключения у меня изначально не было зарегистрированных пользователей, новые были добавлены в HifiContext.mdf
, и список работал правильно. Как это произошло?
Вы уверены, что смотрите на правый Db? кажется, что. У вас возникли ошибки? Любые специальные разрешения и т. Д. Мой совет заключается в создании нового соединения (например, config и ' connectionStrings>') - и резервное копирование старого на всякий случай, то есть воссоздать Db с нуля. –
NSGaga
У меня нет другого и не было ошибок, пользователь, созданный в моем методе seed(), существует и другие. зарегистрированный ранее из моего приложения. ' connectionStrings>' –
Sven
попробуйте воссоздать, если вы только что включили миграцию - никакая другая идея – NSGaga