ServiceStack ORMLite - 选择列

Ale*_*xis 7 ormlite-servicestack

我最近开始使用ServiceStack及其ORMLite框架.我在谷歌搜索并浏览了源代码,但找不到任何相关内容.

在使用ORMLite执行查询时,有没有办法选择特定列?像这样的东西:Db.First<Model>(q => q.Id == someId, "Column1, Column2")

除非我错过了这个功能,否则我很惊讶之前没有人问过这个问题,因为这是优化数据库事务的一个规则.

myt*_*thz 7

如果要指定其他表所需的列,则需要使用SQL,如前面的示例所示

所以在你的情况下,你可以这样做:

Db.First<Model>("SELECT Column1, Column2 FROM AnyTableOrView");
Run Code Online (Sandbox Code Playgroud)

您还可以通过使用[Alias]属性对其进行装饰来创建一个查看表格的局部模型,例如:

[Alias("AnyTableOrView")]
public class Model {
    public int Id { get; set; }
    public string Column1 { get; set; }
    public string Column2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

Db.First<Model>(q => q.Id == someId);
Run Code Online (Sandbox Code Playgroud)

它只会从部分模型中选择SELECT +填充字段.