Нет
У вас нет понятия «Свойства» в языке Java. Вам нужно использовать геттеры и сеттеры ..
Что именно говорит ошибка. Вы не можете использовать запросы LINQ в непосредственном окне, потому что они требуют компиляции лямбда-функций. Попробуйте первую строку в вашем реальном коде, где он может быть скомпилирован. :)
Кроме того, чтобы все это сделать в одной строке, вы можете использовать оператор LINQ "Any", например:
if( ! employee.TypeOfWorks.Any(tow => tow.Id == theNewGUID) )
//save logic for TypeOfWork containing theNewGUID
Я думаю, что любой из этих вариантов действительно работает . Имейте в виду, что Visual Studio не может обрабатывать запросы Linq и в окне просмотра, поэтому я подозреваю, что обнаруженная вами ошибка скорее связана с проблемой Visual Studio, чем с неработающим кодом.
Try this code to get the count of typeofwork not initialized.
if(employee.TypeOfWorks
.Count(f => f.Id != new Guid("11111111-1111-1111-1111-111111111111")) != 0)
{
//do something
}
как насчет
Guid guid = Guid.NewGuid("11111111-1111-1111-1111-111111111111");
var res = from p in employee.TypeOfWorks
where p.Id == guid
select p ;
The problem is constructing the guid - otherwise the linq queries should work