UpdateNonDefaults无法使用ServiceStack for Boolean Value

时间:2015-10-31 07:33:56

标签: c# .net servicestack ormlite-servicestack

我正在使用ServiceStack ORMLite和Sql Server。现在在我的Servicestack中,POCO类我有一个boolean字段,在Sql Server中由bit not null表示。现在我想要更新这个布尔值,让我们说从true到false,反之亦然。但是这不会发生,除了那个布尔列之外所有其他列都正在更新。我正在使用以下行来执行更新操作。

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

请帮我解决这个问题。谢谢..

1 个答案:

答案 0 :(得分:2)

您无法使用 NonDefaults API执行此操作,因为 false 是布尔值的默认值,而UpdateNonDefaults()仅更新非默认值< / strong>值。

您可以改为使用UpdateOnly并指定要更新bool列,例如:

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