EF linq表联查当返回多个表数据时,主要表返回字段多,其他表返回字段少时IQueryable<T>,自定义个类型T

10 篇文章 0 订阅

linq表联查返回结果类封装,适合多种情况

 /// <summary>
    /// 表联查显示,扩展字段显示,适用于IQueryable<T> 返回数据,
    /// 当主要使用一个表字段,联查的其他表字段较少时,比较适用
    /// </summary>
    /// <typeparam name="T">泛型</typeparam>
    public class ViewData<T>
    {
        /// <summary>
        /// 实体
        /// </summary>
        public T model { get; set; }

        /// <summary>
        /// 扩展字段
        /// </summary>
        public string C1 { get; set; }

        /// <summary>
        /// 扩展字段
        /// </summary>
        public string C2 { get; set; }
        public string C3 { get; set; }
        public string C4 { get; set; }
        public string C5 { get; set; }
        public string C6 { get; set; }
        public string C7 { get; set; }
        public string C8 { get; set; }
    }

主要显示字段类Down_img_record

/// <summary>
/// 下载记录
/// </summary>
[Serializable]
public partial class Down_img_record 
{
	/// <summary>
	/// guid主键
	/// </summary>
	[Key]
	public string Id { set; get; }
	
	/// <summary>
	/// 下载图片主键
	/// </summary>
	public string Img_id { get; set; }
	
	/// <summary>
	/// 下载图片时间
	/// </summary>
	public DateTime Down_time { get; set; }
	
	/// <summary>
	/// 下载人
	/// </summary>
	public string Down_user_id { get; set; }
	
	/// <summary>
	/// 用途说明
	/// </summary>
	public string Remark { get; set; }
	
	/// <summary>
	/// 年份
	/// </summary>
	public int Year { get; set; }
	
			
}

linq联查参考

 /// <summary>
		/// 联查下载人姓名,部门
		/// </summary>
		/// <returns></returns>
        public IQueryable<ViewData<Down_img_record>> JoinQuery()
        {
            var query = from q in dbContext.Down_img_record
                        //联查用户名
                        join u in dbContext.User on q.Down_user_id equals u.Id into uv
                        from s in uv.DefaultIfEmpty()
                        //联查用户部门名称
                        join d in dbContext.Department on s.Department_id equals d.Id into dv
                        from h in dv.DefaultIfEmpty()
                        select new ViewData<Down_img_record>()
                        {
                            model = q,
                            //下载人姓名
                            C1 = s.Real_name,
                            //下载部门
                            C2 = h.Department_name
                        };
            return query;
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王焜棟琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值