c# - C# linq 表达式未正确提取数据
问题描述
我正在尝试查询两个表,并且需要从两个表中提取相关记录。我正在使用 enityframeworkcore 3 一个是系统版本表,另一个是历史表。我的结果集仅包含来自历史表而不是系统版本表的数据。有人能告诉我我的陈述有什么问题吗?我确保 systemversion 表中的 personid 与历史表匹配。
询问
var personNotes = (from pn in _context.PersonNotes
join pnh in _context.PersonNotesHistory on pn.PersonId equals pnh.PersonId
select pn);
return personNotes;
解决方案
您需要指定要在结果中返回的列名:
var personNotes = (from pn in _context.PersonNotes
join pnh in _context.PersonNotesHistory on pn.PersonId equals pnh.PersonId
select new {
data1 = pn.column1,
data2 = pn.column2,
data3 = pn.column3,
data4 = pnh.column1,
data5 = pnh.column2,
data6 = pnh.column3,
}).ToList();
return personNotes;
只需更改column1, column2, column3
要从数据库中检索的列名。
推荐阅读
- r - 在 R 中连接两个数据集
- ios - 从泛型类型转换为特定类型
- python - 如何在 Python 中正确解析时间戳期间的 AM/PM?
- javascript - TypeError: callback is not a function 使用 Nodemailer 发送电子邮件时
- javascript - 我如何在反应之外调用/执行功能组件的功能?
- jenkins - 詹金斯:“${env.SVN_REVISION}”变量返回空值
- javascript - 无法执行 React 状态更新 - 反应手势库
- mysql - MySql 使用内部连接和联合不同
- wpf - WPF代码内预览颜色功能VS2019
- java - 在 liferay portlet 中使用 Skype gradle 依赖项时出现错误