我正在尝试查询两个表,并且需要从两个表中提取相关记录。我正在使用 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
更改为您要从数据库检索的列名称即可。
关于C# linq 表达式未正确提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567981/