Запросы к базе данных возвращают пустое или нулевое, но сохранение данных работает

Когда вы срезаете многомерность массива, если меньше указателей, чем количество осей, недостающие индексы считаются полными фрагментами. Следовательно, когда вы, по сути дела, выполняете вызов x[:][1] is x[:,:][1,:], поэтому x[:,:] просто вернет сам x.

2
задан Bloodday 31 March 2019 в 01:21
поделиться

2 ответа

Проблема в том, что Expression.NotEqual здесь:

var parameter = Expression.Parameter(entity.ClrType, "e");
var body = Expression.NotEqual(
    Expression.Call(typeof(EF), nameof(EF.Property), new[] { typeof(DateTime?) }, parameter, Expression.Constant("DeletedAt")),
    Expression.Constant(null));
modelBuilder.Entity(entity.ClrType).HasQueryFilter(Expression.Lambda(body, parameter));

Что в настоящее время делает, так это устанавливает фильтр глобальных запросов (то есть дополнительное условие применяется к всем запросов) аналогично этому (псевдокод):

e => e.DeletedAt != null

, который будет возвращать все мягкие удаленные записи (которых в вашем случае нет), в то время как я предполагаю, что идея заключалась в том, чтобы возвращать не мягкие удаленные записи, т.е. 1110]

e => e.DeletedAt == null

Так что просто измените Expression.NotEqual на Expression.Equal, и проблема будет решена.

0
ответ дан Ivan Stoev 31 March 2019 в 01:21
поделиться

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

создайте запрос к вашей таблице, используя контекст.

Например.

var query = context.Students
                   .where(s => s.StudentName == "Bill")
                   .FirstOrDefault<Student>();

query.tolist ()

0
ответ дан Hawkzey 31 March 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: