前言
本人小白程序员一枚 会点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.ResourcesIdwhere cr.Type == CollectiosTypes.Resource && cr.CreatorId == useridselect resources;var list = await result.ToListAsync();var tolist = await result.OrderByDescending(m => m.CreationTime).Skip(skipCount).Take(maxResultCount).ToListAsync();return tolist;}
原文地址