Проблема с использованием Linq для объединения таблиц в ASP.NET MVC - PullRequest
1 голос
/ 28 июля 2011

Раньше у меня был прямой контроллер, возвращающий вид, подобный этому

return View(db.Stuff.ToList()); 

Это прекрасно работает.Я немного поработал и обнаружил, что это:

var items = from g in db.Stuff
            select g;
return View(items);

... тоже отлично работает.Однако, когда я пытаюсь соединиться с другой таблицей:

var items = from g in db.Stuff
            join ug in db.OtherStuff on g.Id equals ug.StuffId
            where !ug.UserId.Equals(1)
            select g;
return View(items);

я получаю сообщение об ошибке:

Невозможно создать постоянное значение типа 'System.Object».В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid).

Почему это так?Еще одна странность заключается в том, что если я закомментирую предложение where, оно снова начинает работать (работает как исключение, а не выбрасывает)

1 Ответ

3 голосов
/ 28 июля 2011

Попробуйте изменить условие where на следующее:

where ug.UserId != 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...