Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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# 无法在lambda表达式中转换此查询_C#_Lambda - Fatal编程技术网

C# 无法在lambda表达式中转换此查询

C# 无法在lambda表达式中转换此查询,c#,lambda,C#,Lambda,我一直坚持将此查询转换为lambda表达式 SELECT Timesheet_Detail_Id, Date, Proj_Id, Task_Id, Ticket_No, Description, Hours, IsBillable, Billing_Hrs, Link_To, Status_Id, Timesheet_Id, flag, Remarks, EntryDate FROM dbo.Timesheet_details WHERE (Link_

我一直坚持将此查询转换为lambda表达式

SELECT        Timesheet_Detail_Id, Date, Proj_Id, Task_Id, Ticket_No, Description, Hours, IsBillable, Billing_Hrs, Link_To, Status_Id, Timesheet_Id, flag, Remarks, EntryDate
FROM         dbo.Timesheet_details
WHERE        (Link_To = 7) OR
             (Link_To =
             (SELECT User_Id FROM dbo.User_Details
             WHERE(Leader_User_Id = 7)))
我的尝试:-

int linkto=Convert.ToInt32(Session["login_user_Id"]);
var list=de.User_Details.Where(y => y.Leader_User_Id==linkto).Select(y => y.User_Id);
lvTimesheet.DataSource = de.TimeSheetDetailViews.Where(x => x.Link_To == linkto || x.Link_To == list).ToList();
我想在Lambda表达式中转换此查询,但得到如下错误

错误列表

Error   39  Cannot convert lambda expression to type 'string' because it is not a delegate type D:\Govinda\OfficeProjects\InfosenseTimeSheet\InfoSenseTimeSheet\InfoSenseTimeSheetWeb\ViewMyTimesheetList.aspx.cs   16  64  D:\...\InfoSenseTimeSheetWeb\

Error   40  Delegate 'System.Func<InfosenseTimeSheetModel.TimeSheetDetailView,int,bool>' does not take 1 arguments  D:\Govinda\OfficeProjects\InfosenseTimeSheet\InfoSenseTimeSheet\InfoSenseTimeSheetWeb\ViewMyTimesheetList.aspx.cs   16  64  D:\...\InfoSenseTimeSheetWeb\

Error   41  Operator '==' cannot be applied to operands of type 'decimal' and 'System.Linq.IQueryable<decimal>' D:\Govinda\OfficeProjects\InfosenseTimeSheet\InfoSenseTimeSheet\InfoSenseTimeSheetWeb\ViewMyTimesheetList.aspx.cs   16  92  D:\...\InfoSenseTimeSheetWeb\
错误39无法将lambda表达式转换为类型“string”,因为它不是委托类型D:\Govinda\OfficeProjects\InfoSenseTimeSeet\InfoSenseTimeSeetWeb\ViewMyTimesheetList.aspx.cs 16 64 D:\…\InfoSenseTimeSeetWeb\
错误40委托“System.Func”不接受1个参数D:\Govinda\OfficeProjects\infosensetimeet\infosensetimeet\infosensetimeetweb\ViewMyTimesheetList.aspx.cs 16 64 D:\…\infosensetimeetweb\
错误41运算符“==”不能应用于类型为“decimal”和“System.Linq.IQueryable”的操作数D:\Govinda\OfficeProjects\InfosenseTimeSheet\InfosenseTimeSheet\InfoSenseTimeSheetWeb\ViewMyTimesheetList.aspx.cs 16 92 D:\…\InfoSenseTimeSheetWeb\
注:-

Sql查询工作正常。

我得到了答案

int linkto=Convert.ToInt32(Session["login_user_Id"]);
var list=de.User_Details.Where(y => y.Leader_User_Id==linkto).Select(y => y.User_Id);
lvTimesheet.DataSource = de.TimeSheetDetailViews.Where(x => x.Link_To == linkto || list.Contains(x.Link_To)).ToList();