Я создаю базовую библиотеку C # для проектов ASP.NET MVC 5 для компании, в которой я работаю, поэтому, когда мы должны делиться исходным кодом, мы включаем ссылки на библиотеку Enterprise.Classes, и исходные зависимости не требуются так как этот класс будет интегрировать все функции.
Для DbContext
мы создали собственный контекст, который наследуется от IdentityDbContext
, но всякий раз, когда он наследуется для создания новых контекстов, для работы требуется установить пакет Microsoft.AspNet.Identity.EntityFramework
Nuget.
Пока это код для кастома DbContext
:
[DbConfigurationType(typeof(EnterpriseDbConfiguration))]
public class EnterpriseDbContext : IdentityDbContext<EnterpriseUser, EnterpriseRole, long, EnterpriseUserLogin,
EnterpriseUserRole, EnterpriseUserClaim>
{
public EnterpriseDbContext(string contextName = "DefaultEnterpriseConnection") : base(contextName)
{
/* Entities, Configurations and stuff */
}
}
А вот пример класса EnterpriseUser
(который будет классом IdentityUser
):
public class EnterpriseUser : IdentityUser<long, EnterpriseUserLogin, EnterpriseUserRole, EnterpriseUserClaim>
{
public EnterpriseUser()
{
RegistrationDate = DateTime.Now;
Enabled = true;
}
/* Additional Properties */
}
Вот пример наследующего контекста, когда EnterpriseDbContext
помечен для наследования, требуется установить пакет Microsoft.AspNet.Identity.EntityFramework
Nuget:
public class InheritedEnterpriseContext : EnterpriseInfrastructure.Data.EnterpriseDbContext
{
}
Как собрать EnterpriseDbContext
, чтобы при его наследовании не требовалось устанавливать пакет Nuget?