2015-10-31 4 views
0

Я использую ServiceStack ORMLite с Sql Server. Теперь в моем Servicestack, класс POCO у меня есть поле boolean, которое представлено bit not null в Sql Server. Теперь я хочу, чтобы это булевское значение обновлялось, давайте скажем от true к false и наоборот. Но этого не происходит, кроме этого булевского столбца все остальные столбцы обновляются правильно. Я использую следующую строку для выполнения операции обновления.UpdateNonDefaults не работает с ServiceStack for Boolean Value

db.UpdateNonDefaults(ChangeBool, p => p.id== request.StudentId); 

Пожалуйста, помогите мне решить эту issue.Thanks ..

ответ

2

Вы не можете использовать NonDefaults API, чтобы сделать это, так как ложных значение по умолчанию для логического и UpdateNonDefaults() обновляет только не умолчанию значений.

Вы можете использовать вместо UpdateOnly и указать, что вы хотите обновить столбец BOOL, например:

db.UpdateOnly(new ChangeBool { Bool = false }, 
    onlyFields: x => x.Bool, 
    where: x => x.Id == request.StudentId); 
+0

Я маленький Сомнение Как добавить более одного поля в 'onlyFields: х => x.Bool, 'поскольку мне нужно обновить еще один столбец в таблице. Из объекта 'new ChangeBool' его не происходит. – Lara

+1

@Lara вы можете использовать' onlyFields: new {x.Bool, x.Foo} ' – mythz