我有一个类"Employee",它有一个"TypeOfWork"的IList〈〉。
public class Employee
{
public virtual IList<TypeOfWork> TypeOfWorks { get; set; }
}
public class TypeOfWork
{
public virtual Customer Customer { get; set; }
public virtual Guid Id { get; set; }
public virtual string Name{ get; set; }
public virtual bool IsActive{ get; set; }
}
在保存之前,我想知道"typeofwid"(一个GUID)是否已经在"TypeOfWorks"集合中。
我试过这个:
var res = from p in employee.TypeOfWorks
where p.Id == new Guid("11111111-1111-1111-1111-111111111111")
select p ;
并尝试了这个:
bool res = employee.TypeOfWorks.Where(f => f.Id == new Guid("11111111-1111-1111-1111-111111111111")).Count() != 0;
在Visual Studio的"即时窗口"中,但我收到错误:* 表达式不能同时包含查询表达式 *
你有办法吗?
谢谢你,
4条答案
按热度按时间zc0qhyus1#
正如错误所述。不能在“即时窗口”中使用LINQ查询,因为它们需要编译lambda函数。请尝试实际代码中可以编译的第一行。:)
此外,要在一行中完成所有这些操作,可以使用LINQ“Any”运算符,如下所示:
roejwanj2#
不如这样:
问题在于构造guid-否则linq查询应该可以工作
o7jaxewo3#
实际上,我认为这两种方法都有效。请记住,Visual Studio也不能在监 windows 口中处理Linq查询,因此我怀疑您看到的错误与其说是代码不工作,不如说是Visual Studio的问题。
iecba09b4#
尝试使用此代码获取未初始化的工作类型的计数。