Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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 select中以逗号分隔的列表_C#_Linq - Fatal编程技术网

C# linq select中以逗号分隔的列表

C# linq select中以逗号分隔的列表,c#,linq,C#,Linq,我有表HR_Travel(TravelID,TravelCode…)和HR_TravelDocuments(TravelDocID,TravelID,DocUrl) Join()方法不能在LINQ表达式中使用,因为它不能从CLR转换为t-SQL。另一个例子是,您不能使用: var itemCount = db.Table.Count(p => p.Something == SomeFunction(someVariable)); 您应该将方法调用移到LINQ语句之外: var anoth

我有表HR_Travel(TravelID,TravelCode…)和HR_TravelDocuments(TravelDocID,TravelID,DocUrl)

Join()方法不能在LINQ表达式中使用,因为它不能从CLR转换为t-SQL。另一个例子是,您不能使用:

var itemCount = db.Table.Count(p => p.Something == SomeFunction(someVariable));
您应该将方法调用移到LINQ语句之外:

var anotherVariable = SomeFunction(someVariable);
var itemCount = db.Table.Count(p => p.Something == anotherVariable);
我希望我解释得很好


编辑:如前面的注释所示,您还可以使用ToArray(),当数据在本地加载时,您可以自由使用语句中的函数。

如果Linq To WHERTH不支持它,您可以将其具体化为Linq To Objects查询,然后您可以使用任何您喜欢的方法。您只需在
Where
之后添加
AsEnumerable
。然后它加载到内存中。他确实使用了string.Join(对于DocUrl,我想在您实际将数据作为tolist()之前,您无法在匿名列定义中执行联接。我尝试在where之后使用一个numerable,但当我只写string DocUrl=string.Join(“,”,(db.HR\u TravelDocuments.where)时,仍然使用相同的eoor(i=>i.TravelID==1&&i.TravelSubID==0)。选择(i=>i.DocUrl.ToList());工作正常
var itemCount = db.Table.Count(p => p.Something == SomeFunction(someVariable));
var anotherVariable = SomeFunction(someVariable);
var itemCount = db.Table.Count(p => p.Something == anotherVariable);