Mik*_*sen 10 c# linq entity-framework join
我已经在SO和其他网站上查看了各种问题,这似乎是在LINQ中执行的正确语法,但它只是不起作用:JOIN
var stages = (from stage in entityManager.TPM_TASKSTAGE select stage);
var results = (from task in pv.TPM_TASK
join st in stages on st.STAGEID equals task.STAGEID
where task.TASKTYPE == "Solution"
select new SolutionTask());
Run Code Online (Sandbox Code Playgroud)
暂时忽略这样一个事实,即我实际上并没有选择任何有意义的东西,但我希望能够访问st.NAME每一行的属性TPM_TASK.这两个表是相连的STAGEID.我收到编译器错误:
名称'st'不在'equals'左侧的范围内.考虑交换'equals'两侧的表达式.
在LINQ加入表情,都st和task有红色的squigglies.请告诉我,我正在做一些愚蠢的事情.
Ser*_*kiy 15
外部序列的键选择器应该先行.在你的情况下外部序列是pv.TPM_TASK.所以,你应该加入task.STAGEID equals st.STAGEID
var stages = (from stage in entityManager.TPM_TASKSTAGE select stage);
var results = (from task in pv.TPM_TASK
join st in stages on task.STAGEID equals st.STAGEID // here
where task.TASKTYPE == "Solution"
select new SolutionTask());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5631 次 |
| 最近记录: |