Чтобы исправить эту ошибку, реализуйте интерфейс Serializable и присвойте ему идентификатор.
Public class Foo implements Serializable {
private static final long serialversionUID = 1L; // example
//code then
}
Предлагаю следующее решение.
db.Users.Where(u => u.User_x_Territories.Count == 0)
Редактировать: хех, угадай кого-нибудь побей меня до этого: (
from t in db.Users join t0 in db.User_x_Territory on new { UserID = t.Id } equals new { UserID = t0.UserID } into t0_join from t0 in t0_join.DefaultIfEmpty() group new {t, t0} by new { t.Id, Column1 = t.Id, t.FirstName, t.LastName, t0.UserID } into g where g.Count() == 0 select new { Id = g.Key.Id, Expr1 = g.Key.Id, g.Key.FirstName, g.Key.LastName, UserID = g.Key.UserID }
Я не знаю, насколько это эффективно (наверное, не очень), но вы можете попробовать что-то вроде это:
var users = (from u in db.Users
join uXt in db.User_x_Territories on u equals uXt.User into gerr
from users in gerr.DefaultIfEmpty()
select u).Where(u => u.User_x_Territories.Count == 0);