Невозможно создать постоянное значение. Только примитивные типы
dbEntities db = new dbEntities();
foreach (ttCategory c in db.ttCategories)
{
var tags=(from t in db.ttproduktes where t.ttCategories.Contains(c) select t.ttTags);
foreach (ttTag t in tags) // here it says:
// Unable to create a constant value - only primitive types
{
t.ToString();
}
}
Что я делаю неправильно?
Ответы
Ответ 1
В linq-to-entity вы не можете использовать Contains с классом, вы можете использовать его только с примитивным типом, поэтому вам нужно изменить это:
where t.ttCategories.Contains(c)
к
where t.ttCategories.Any(x => x.UniqueProperty == c.UniqueProperty)
Ответ 2
var tags = (from t in db.ttproduktes
where t.ttCategories.Any(q => q.Id == c.Id)
select t.ttTags);