Проверьте, активен ли пользователь, прежде чем разрешить ему войти с помощью devise (rails)

Я бы сделал что-то вроде этого:

var result = from thing in dbContext.Things
             select new Thing {
                 PropertyA = thing.PropertyA,
                 Another = thing.Another
                 // and so on, skipping the VarBinary(MAX) property
             };

Где Thing - ваша организация, которую EF знает, как материализоваться. Результирующий оператор SQL не должен содержать большой столбец в его результирующем наборе, поскольку он не нужен в запросе.

EDIT: из ваших правков вы получаете ошибку NotSupportedException: сущность или комплекс тип «ProjectName.File» не может быть сконструирован в запросе LINQ to Entities. , потому что вы не сопоставили этот класс как сущность. Вы не можете включать объекты в запросы LINQ to Entities, которые EF не знает, и ожидать, что они сгенерируют соответствующие операторы SQL.

Вы можете сопоставить другой тип, который исключает столбец VarBinary(MAX) в его определении или используйте приведенный выше код.

33
задан user2012677 7 April 2013 в 16:11
поделиться