当前位置 : 主页 > 编程语言 > 其它开发 >

Linq连表查询

来源:互联网 收集:自由互联 发布时间:2022-06-29
前言 本人小白程序员一枚 会点java也会点.net 最近在公司做项目当中用到了linq连表查询 因为好久没用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;
        }
上一篇:Java中java.util.Arrays参考指南
下一篇:没有了
网友评论