Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要在Linq中执行子查询_C#_Sql_Linq - Fatal编程技术网

C# 需要在Linq中执行子查询

C# 需要在Linq中执行子查询,c#,sql,linq,C#,Sql,Linq,我试图在下面编写SQL脚本的Linq版本。但是,我做不到。我无法执行子查询部分T\U项目和T\U服务交易表通过PROJECT\U ID和P.ID相互链接,它是一个外键。如何编写它的Linq版本 SELECT P.PROJECT_NAME, P.TOTAL_TIME, ( P.TOTAL_TIME - ( SELECT SUM(GIVEN_SERVICE_TIME) FROM T_SERVICE_TRANSACTION

我试图在下面编写SQL脚本的Linq版本。但是,我做不到。我无法执行
子查询
部分
T\U项目
T\U服务交易
表通过
PROJECT\U ID
P.ID
相互链接,它是一个外键。如何编写它的Linq版本

SELECT P.PROJECT_NAME, P.TOTAL_TIME, 
   (
        P.TOTAL_TIME - ( SELECT SUM(GIVEN_SERVICE_TIME)  
                         FROM T_SERVICE_TRANSACTION 
                         WHERE PROJECT_ID=P.ID )
   ) 
FROM T_PROJECT P 

试着做些类似的事情

var result = Project.Select(p => new {
    ProjectName = p.ProjectName, 
    TotalTime = p.TotalTime, 
    CustomColumn = p.TotalTime - p.T_Service_Transactions
       .Sum( t=> t.GivenServiceTime)
});

你的实体类看起来像吗?非常感谢,我认为它会工作,但我得到了错误。。。。。System.InvalidOperationException:传递到字典的模型项的类型为“System.Collections.Generic.List
1[f_uAnonymousType1
10[System.String,System.Nullabl……@ARIFYILMAZ没问题!在没有看到其余代码的情况下,我不能完全确定错误,但是如果您在其他地方使用结果,您可能需要将结果投影到您自己的类型中。听起来您有一个类型化的字典,它不接受列表,或者l中的匿名类型您可以使用.ToDictionary方法-第一个参数生成键(可能是p=>p.ProjectName),第二个参数生成需要与字典所需类型匹配的值。