Ton*_*nte 5 entity-framework entity-framework-5
我试图在我的LINQ查询中外连接一个带有内联表值函数的表,但是我在运行时遇到了一个查询编译错误:
"查询尝试通过嵌套查询调用'OuterApply',但'OuterApply'没有相应的密钥."
我的linq语句如下所示:
var testQuery = (from accountBase in ViewContext.AccountBases
join advisorConcatRaw in ViewContext.UFN_AccountAdvisorsConcatenated_Get()
on accountBase.AccountId equals advisorConcatRaw.AccountId into advisorConcatOuter
from advisorConcat in advisorConcatOuter.DefaultIfEmpty()
select new
{
accountBase.AccountId,
advisorConcat.Advisors
}).ToList();
Run Code Online (Sandbox Code Playgroud)
功能定义如下:
CREATE FUNCTION dbo.UFN_AccountAdvisorsConcatenated_Get()
RETURNS TABLE
AS
RETURN
SELECT AP.AccountId,
LEFT(AP.Advisors, LEN(AP.Advisors) - 1) AS Advisors
FROM ( SELECT DISTINCT
AP.AccountId,
( SELECT AP2.PropertyValue + ', '
FROM dbo.AccountProperty AP2 WITH (NOLOCK)
WHERE AP2.AccountId = AP.AccountId
AND AP2.AccountPropertyTypeId = 1 -- Advisor
FOR XML PATH('')) AS Advisors
FROM dbo.AccountProperty AP WITH (NOLOCK)) AP;
Run Code Online (Sandbox Code Playgroud)
我可以直接在sql中成功执行连接,如下所示:
SELECT ab.accountid,
advisorConcat.Advisors
FROM accountbase ab
LEFT OUTER JOIN dbo.Ufn_accountadvisorsconcatenated_get() advisorConcat
ON ab.accountid = advisorConcat.accountid
Run Code Online (Sandbox Code Playgroud)
有没有人有一个左外连接内联TVF到LINQ实体表的工作示例 - 或者这是一个已知的缺陷等?非常感谢.
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |