博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
列表页回调,获取外键数据
阅读量:6424 次
发布时间:2019-06-23

本文共 1954 字,大约阅读时间需要 6 分钟。

第一步:

var userids = entityPairs.Select(p => p.Item1.OwnerId).ToList();            var userMapping = (context.Set
() .Where(u => userids.Contains(u.Id)) .Select(u => new { id = u.Id, username = u.Username, nickname = u.Nickname, }).ToDictionary(u => u.id, u => u));

 

第二步:

pair.Item2["Username"] = userMapping.GetOrDefault((long)pair.Item1.OwnerId).nickname;

示列代码一:管理员获取

///         /// 选择需要的字段        ///         [Tested("Common.Test.Admin.AdminAdminsControllerTest")]        public void Select(EntireDbContext context,            IList
>> entityPairs) { // 获取关联的用户和角色名称 var adminIds = entityPairs.Select(p => p.Item1.Id).ToList(); var userMapping = (context.Set
() .Where(u => adminIds.Contains(u.Id)) .Select(u => new { id = u.Id, username = u.Username, nickname = u.Nickname, roleId = u.RoleId, roleName = u.Role.Name // 这里会转换成join }).ToDictionary(u => u.id, u => u)); foreach (var pair in entityPairs) { pair.Item2["Id"] = pair.Item1.Id; pair.Item2["SuperAdmin"] = ( pair.Item1.SuperAdmin ? BooleanValues.True : BooleanValues.Null); pair.Item2["CreateTime"] = pair.Item1.CreateTime.ToClientTimeString(); pair.Item2["Username"] = userMapping.GetOrDefault(pair.Item1.Id)?.username; pair.Item2["Nickname"] = userMapping.GetOrDefault(pair.Item1.Id)?.nickname; pair.Item2["RoleName"] = userMapping.GetOrDefault(pair.Item1.Id)?.roleName; pair.Item2["RoleId"] = userMapping.GetOrDefault(pair.Item1.Id)?.roleId; } }

 

转载于:https://www.cnblogs.com/zhongku/p/4822286.html

你可能感兴趣的文章
PostgreSQL 的 语法分析的理解(五)
查看>>
[转载]Visual Studio 2010敏捷利剑:详解Scrum
查看>>
Java Collection: List、Set、 Map、 HashMap、 Hashtable、 Vector
查看>>
T-SQL查询进阶--流程控制语句
查看>>
Excel VBA小试
查看>>
备份Toad中保存的数据库连接用户名和密码
查看>>
ASP.NET中 Repeater 的使用前台绑定
查看>>
微信公众平台模拟群发技术
查看>>
C语言学习之指针详解
查看>>
学习使用Bing Maps Silverlight Control(一):准备和新建
查看>>
讲一讲什么叫阻塞非阻塞同步异步
查看>>
选择器补遗
查看>>
C# 实体集合和实体转换成相应的string、XDocument、XElement、XDocument
查看>>
轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
dreamweaver中的 map怎么调用?_制作热点图像区域
查看>>
代码19
查看>>
Win10系列:UWP界面布局进阶5
查看>>
ABP Zero 本地化语言的初始化和扩展
查看>>
转Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
查看>>
FCT需求分析
查看>>