Конечно! Вы можете использовать Dapper.
Установка
Перед началом работы необходимо установить https://www.nuget.org/packages/Abp.Dapper, либо EF Core, EF 6.x или пакеты NHibernate ORM NuGet в проект, который вы хотите использовать.
Регистрация модуля
Сначала вам нужно добавить атрибут DependsOn для AbpDapperModule в вашем модуле, где вы его зарегистрировали
[DependsOn(
typeof(AbpEntityFrameworkCoreModule),
typeof(AbpDapperModule)
)]
public class MyModule : AbpModule
{
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(SampleApplicationModule).GetAssembly());
}
}
Отображение сущности в таблицу
Вы можете настроить сопоставления. Например, класс Person отображается в таблицу Persons в следующем примере:
public class PersonMapper : ClassMapper<Person>
{
public PersonMapper()
{
Table("Persons");
Map(x => x.Roles).Ignore();
AutoMap();
}
}
Пример модуля :
[DependsOn(
typeof(AbpEntityFrameworkModule),
typeof(AbpDapperModule)
)]
public class MyModule : AbpModule
{
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(SampleApplicationModule).GetAssembly());
DapperExtensions.SetMappingAssemblies(new List<Assembly> { typeof(MyModule).GetAssembly() });
}
}
Использование
После регистрации AbpDapperModule вы можете использовать интерфейс Generic IDapperRepository (вместо стандартного IRepository) для внедрения репозиториев Dapper.
public class SomeApplicationService : ITransientDependency
{
private readonly IDapperRepository<Person> _personDapperRepository;
private readonly IRepository<Person> _personRepository;
public SomeApplicationService(
IRepository<Person> personRepository,
IDapperRepository<Person> personDapperRepository)
{
_personRepository = personRepository;
_personDapperRepository = personDapperRepository;
}
public void DoSomeStuff()
{
var people = _personDapperRepository.Query("select * from Persons");
}
}
Проверьте эти ссылки: