• 文章作者:XPO Team
  • 发布日期:2018/07/25
  • 推荐:

在v18.2,XPO 包括一个额外的社区驱动的特征 FetchOnlyAttribute,应用于类属性或字段。这个属性指示你只能从数据库中读取值,XPO 将不包括这些值在插入和更新的SQL语句。

使用说明

public class MyClass : XPLiteObject {

    // ...

    [FetchOnly]
    [Persistent("Total")]
    private double total;

    [PersistentAlias("total")]
    public double Total {
        get { return total; }
    }
}​

你还可以在数据模型设计器中设置 FetchOnly 选项。元数据中,对于这类成员,XPMemberInfo.IsFetchOnly 属性返回 true

典型场景

这个属性在遇到下面两种情况时非常有用:

  • 计算的数据库列:当用 PersistentAliasAttribute 低效实现只读;
  • 非主键的自动增加的数据库列(如,rowversion)