c# - 在实体框架中将行转换为列
问题描述
如何在实体框架中将行转换为列!?
我有这样的结果:
我想要这个结果:
我的实体代码是:
(from loanPerson in context.LoanPersons.AsParallel()
join warranter in context.Warranters.AsParallel() on loanPerson.Id equals warranter.LoanPersonId
where loanPerson.Id == 84829
select new
{
loanPersonId = loanPerson.Id,
waranterId = warranter.WarranterPersonID,
}).ToList();
并且行数总是小于 3,我想要 3 列。
请告诉我你的答案。坦克。
解决方案
此查询将返回唯一一行,waranterIds
在此特定情况下,其中将包含三个WarranterPersonID
值,此字段也是List<int>
类型,因为它的数量在编译时未知:
var answer = (from loanPerson in context.LoanPersons.Where(x => x.Id == 84829)
join warranter in context.Warranters
on loanPerson.Id equals warranter.LoanPersonId
group warranter by loanPerson.Id into sub
select new
{
loanPersonId = sub.Key,
waranterIds = sub.Select(x => x.LoanPersonId).ToList()
//if you sure, that quantity equals 3,
//you can write this code instead of waranterIds:
//zamen1 = sub.Select(x => x.LoanPersonId).First(),
//zamen2 = sub.Select(x => x.LoanPersonId).Skip(1).First(),
//zamen3 = sub.Select(x => x.LoanPersonId).Skip(2).First()
}).ToList();
推荐阅读
- oracle-apex - 动态设置 Oracle Apex 5.1 交互式网格区域标题
- visual-studio - VS2019 - Android - Android.Content.Res.Resources+NotFoundException:
- python - 将 1d numpy 数组重塑为 2d
- c - 如何将整数转换为char数组[]?
- java - 无法实例化由 InvocationTargetException 和 NullPointerException 引起的类
- javascript - node.js的导入导出
- c# - 从 ListView C# 中选择第二个项目时出错
- sql - 是否可以通过加入提出此请求?
- javascript - 如何定义 `this.props` 并将信息保存到全局 Redux 状态
- r - 使用 R 在数据框中重新编码多个变量的最短和最干净的方法是什么?