.NET CORE ABP 查询视图 执行手写sql
直接上代码
sglUserRepository 不用管是当前服务的仓储。
private readonly IDbContextProvider<SoonnestWebAPIDbContext> _dbContextProvider; public AdminMemEmberAppService( IDbContextProvider<SoonnestWebAPIDbContext> dbContextProvider ) : base(sglUserRepository) { this._dbContextProvider = dbContextProvider; }
public object getYestDay() {
//第一种 string sql = "select * from SGL_VNewYesterdayAdded"; using (var _conn = new SqlConnection(AppConfigurtaionServices.Configuration["ConnectionStrings:Default"])) { _conn.Open(); var result = _conn.Query<VNewYesterdayAdded>(sql); var list = result.AsList(); }
//第二种 var data = _dbContextProvider.GetDbContext().Set<VNewYesterdayAdded>().AsList(); return ""; }
sql = 是视图
Set<VNewYesterdayAdded>() 自定义Entity类代码如下,代码中有两种查询,第一种要安装两个包:Dapper、和 system.data.SqlClient。 第二种是abp自带的上下文。
[Table("SGL_VNewYesterdayAdded")] public class VNewYesterdayAdded:Entity<int> { /// <summary> /// 新增图册 /// </summary> public int Album { get; set; } /// <summary> /// 新增图片 /// </summary> public int Photo { get; set; } /// <summary> /// 社区 /// </summary> public int MoiveCommunity { get; set; } /// <summary> /// 社区占用图片空间 /// </summary> public double MoiveCommunityDisk { get; set; } /// <summary> /// 图片占用空间 /// </summary> public double UseDisk { get; set; } /// <summary> /// 留言 /// </summary> public int Message { get; set; } /// <summary> /// 收藏喜爱 /// </summary> public int Favorite { get; set; } /// <summary> /// 新增用户 /// </summary> public int Member { get; set; } /// <summary> /// Soonnet TV /// </summary> public int Video { get; set; } /// <summary> /// 赛事 /// </summary> public int Activity { get; set; } /// <summary> /// 文章 /// </summary> public int NewArticle { get; set; } /// <summary> /// 下载 /// </summary> public int download { get; set; } }
代码里面的类型一定要一致,否则报错强转类型错误
![](https://img2023.cnblogs.com/blog/1291365/202303/1291365-20230309145029189-1487434570.png)