一、NuGet獲取Abp.Dapper
項目類庫Application和項目類庫EntityFrameworkCore添加Abp.Dapper引用,如圖:
二、創建實體Entity
項目類庫Core創建實體,如圖:
using Abp.Domain.Entities;
namespace PD.Menu
{
public class Sys_Menu : Entity
{
public virtual string Path { get; set; }
public virtual string Name { get; set; }
public virtual string Permission { get; set; }
public virtual string Meta { get; set; }
public virtual string Title { get; set; }
public virtual string Icon { get; set; }
public virtual string Component { get; set; }
public virtual int FatherId { get; set; }
public virtual int LevelType { get; set; }
public virtual int StatusType { get; set; }
}
}
三、DbContext中爲實體定義數據庫集
public virtual DbSet<Menu.Sys_Menu> Sys_Menu { set; get; }
四、EntityFrameworkModule添加依賴
typeof(AbpDapperModule)
DapperExtensions.DapperExtensions.SetMappingAssemblies(new List<Assembly> { typeof(VerifyServiceEntityFrameworkModule).GetAssembly()})
五、創建服務接口Application
調用默認的IDapperRepository
using Abp.Dapper.Repositories;
using System;
using System.Collections.Generic;
using System.Text;
namespace PD.Menu
{
public class MenuTestAppService : PDAppServiceBase, IMenuTestAppService
{
private readonly IDapperRepository<Sys_Menu> _Sys_MenuDapperRepository;
public MenuTestAppService(IDapperRepository<Sys_Menu> sys_MenuDapperRepository)
{
_Sys_MenuDapperRepository = sys_MenuDapperRepository;
}
public void Get()
{
var aa = _Sys_MenuDapperRepository.GetAll();
var bb = _Sys_MenuDapperRepository.Query("select * from Sys_Menu");
}
}
}
說明:ABP官方說明https://aspnetboilerplate.com/Pages/Documents/Dapper-Integration