2015-10-10 1 views
0

Я хочу создать музыкальный сайт/в образовательных целях /. Я хотел использовать ASP.NET Identity User, но также хотел добавить дополнительные свойства. Сначала я делаю код. Поэтому я создал слой модели, где я расширяю идентификатор пользователя следующим образом:Расширенный пользователь ASP.NET не сохраняется в базе данных

public class User : IdentityUser 
{ 
    //Some extra data that I want to add goes here 

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User> manager, string authenticationType) 
    { 
     var userIdentity = await manager.CreateIdentityAsync(this, authenticationType); 
     return userIdentity; 
    } 
} 

Пока все хорошо. Затем я реализовал свой уровень данных с шаблонами репозитория и единицы работы, а на вершине их - проект уровня сервиса/MVC /. Я запустил его, и я зарегистрировал пользователя, и я был перенаправлен как этот пользователь. Я, хотя все в порядке, поэтому я решил проверить свою базу данных. Я видел таблицы, предоставленные ASP.NET, но они были пусты. Я попытался зарегистрировать одного и того же пользователя, и я заметил, что есть пользователь с этим письмом.

Я проверил строки подключения, и все было в порядке. Я бегу из идей ...

enter image description here

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

Source code

+0

Возможно, обычное местное недоразумение. Он не хранится там, где вы думаете. –

+0

Хью вы попробовали Json Action Result for Async Task – Manraj

ответ

0

Хорошо, поэтому я обнаружил, что было не так на всей фотографии. В моделях есть ApplicationDbContext.

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("DatabaseConnection", throwIfV1Schema: false) 
    { 
    } 

    public static ApplicationDbContext Create() 
    { 
     return new ApplicationDbContext(); 
    } 
} 

Там по умолчанию соединение установлено на DefaultConnection, поэтому оно не работает, как я хотел.

0

Так что же происходит, что да, она вставляется в базу данных. Однако таблица данных не обновляется. Что я использую, чтобы решить эту проблему как-то так:

private void showData() 
    { 
     string conString = @"your;connection;string;" 

     SqlDataAdapter sda; 
     DataTable dt; 


     SqlConnection con = new SqlConnection(conString); 
     sda = new SqlDataAdapter("SELECT * FROM yourTableName", con); 


     dt = new DataTable(); 
     sda.Fill(dt); 
     dataGridView1.DataSource = dt; 
    } 

Тогда просто запустить showData() при загрузке или нажатием кнопки обновления.

У меня была такая же проблема при разработке моего собственного приложения. Надеюсь это поможет.

+0

Моя таблица обновилась. Я на 100% уверен. Даже я попробовал ваше предложение, но это ничего не изменило. Спасибо в любом случае –

+0

Рад, что вы нашли решение! –

Смежные вопросы