Linq连表查询

前言

本人小白程序员一枚 会点java也会点.net
最近在公司做项目当中用到了linq连表查询 因为好久没用linq了 有些语法我也忘记了
既然不会那就一个字学!

正文

在数据库中 表关系有一对一关系 一对多关系,多对多关系
我的需求是 我需要根据用户的id查询用户收藏的内容

表设计

收藏表

还一个内容表就不展示了 我需要根据用户id查询用户收藏的内容 根据内容id查询收藏的内容

代码实现

        /// <summary>
        /// 根据用户id查询收藏的资源信息
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public async Task<List<Resource>> GetCollectionResources(Guid userid, int skipCount, int maxResultCount)
        {
            var result = from resources in (await GetDbContextAsync()).Resources 
                         join cr in (await GetDbContextAsync()).Collections 
                         on resources.Id equals cr.ResourcesId
                         where cr.Type == CollectiosTypes.Resource && cr.CreatorId == userid
                         select resources;

            var list = await result.ToListAsync();

            var tolist = await result
            .OrderByDescending(m => m.CreationTime)
            .Skip(skipCount)
            .Take(maxResultCount)
            .ToListAsync();
            return tolist;
        }
posted @   赵福浩  阅读(333)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示