Subsonic 亚音速2.2-使用Expression更新-如何使我的解决方案更好?

Subsonic 亚音速2.2-使用Expression更新-如何使我的解决方案更好?,subsonic,expression,Subsonic,Expression,我正在学习亚音速2.2,有以下查询,但将表达式(“count+1”)写成字符串感觉“不对” 有专家能提出更好的方法来解决这个问题吗 int records = new Update(Wordsfile.Schema) .SetExpression(Wordsfile.CountColumn).EqualTo("count + 1") .Where(Wordsfile.Columns.WordId).IsEqualTo(wor

我正在学习亚音速2.2,有以下查询,但将表达式(“count+1”)写成字符串感觉“不对”

有专家能提出更好的方法来解决这个问题吗

            int records = new Update(Wordsfile.Schema)
            .SetExpression(Wordsfile.CountColumn).EqualTo("count + 1")
            .Where(Wordsfile.Columns.WordId).IsEqualTo(wordID)
            .And(Wordsfile.Columns.FileId).IsEqualTo(fileID)
            .Execute();
这是一行:“.SetExpression(Wordsfile.CountColumn.EqualTo(“count+1”)”

我尝试过:“.SetExpression(Wordsfile.CountColumn).EqualTo(Wordsfile.Columns.Count+1)”,但没有乐趣

有什么建议吗

谢谢

试试这个:

.SetExpression(Wordsfile.CountColumn).EqualTo(Wordsfile.Columns.Count + " + 1")

字符串并没有那么糟糕,在您的例子中,它是非常简单的东西(“+1”)。你可以在那里触发:)如果你想…

试试这个:

 .SetExpression("count").EqualTo("count + 1")
因为在update.cs中,代码是:

public Setting SetExpression(TableSchema.TableColumn col)

return CreateSetting(col.ColumnName, col.DataType, true);

好东西!这当然是即兴创作,但有人能想出一种不用弦就能做到这一点的方法吗?我想它也可以通过子查询来完成,但这似乎有点混乱,当使用直接sql时,不需要额外的查询。我将获取匹配的Wordsfile对象并以类型化的方式处理它。类似于file.Count++;file.Save();