如何/在何处将业务规则应用于POCO对象?

O.O*_*O.O 5 c# poco entity-framework-4

假设我有一个包含以下内容的POCO:

    [DataMember]
    public Nullable<int> MetricId
    {
        get { return _metricId; }
        set
        {
            if (_metricId != value)
            {
                _metricId = value;
                OnPropertyChanged("MetricId");
            }
        }
    }
    private Nullable<int> _metricId;
Run Code Online (Sandbox Code Playgroud)

我想验证它MetricId严格大于0

很明显,如果我把这个规则作为数据注释放在这个类中,它将在下次重新生成poco时被覆盖.我把这个逻辑放在哪里?

谢谢!

Khe*_*pri 6

我似乎记得建议使用部分类并滚动一个部分类来实现你不想被覆盖的逻辑.

  • 这正是应该如何使用部分类.这也是引入部分方法的原因; 代码生成的分部类可以具有部分方法声明,您可以选择是否在部分类的侧面为其提供实现. (2认同)