Необходимо иметь класс контекста, который происходит из DbContext, когда вы используете Entity Framework.Класс DbContext в Asp.net MVC 5 с идентификатором 2.0
Asp.net Идентичность использует EF и шаблон по умолчанию создает класс ниже:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
Этот класс не наследуется непосредственно из DbContext. Для моих собственных данных (мои классы, которые я хочу сохранить в db), должен ли я создать свой собственный класс контекста db?
Если я хочу выполнить операцию, которая будет обновлять как пользователя, так и один из моих собственных классов, мне нужно использовать оба контекста. Так что это не очень естественно.
Должен ли я использовать класс ApplicationDbContext в качестве контекста для своих собственных классов? Будет ли это работать?
Каков наилучший способ использования EF для моих собственных классов при использовании идентификации?
Читайте цепочку наследования .... IdentityDbContext является производным от DbContext. –
Я бы использовал отдельные контексты в своих приложениях, но тогда я бы тоже использовал шаблон репозитория, поэтому на каком-то уровне это действительно не имеет значения. Отдельные контексты могут быть полезными, если вы развертываете свою систему членства на другой сервер из домена db в соответствии с SOP многих крупных компаний. – rism
Откуда у вас возникла идея, что IdentityDbContext не получается из DbContext? –