保护实体对象(Entity Framework 6.0)中的属性的最佳实践

时间:2016-06-22 06:44:30

标签: c# .net entity-framework oop

在我的实体对象中,我有2个属性,我不想公开(它们代表相同的选项,但必须代表设置使用)。实现我想要的方法可以如下:

private string Path1 { get; set; }
private string Path2 { get; set; }

public string GetThePath()
{
    if([expression])
        return Path1;
    return Path2;
}

但我不确定在实体对象中编写方法是最佳做法。 以上示例的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

取决于您使用的架构或您想要使用它。 我们在保持POCO实体没有任何功能(行为)方面有很好的实践。就像一个数据容器(只有公共属性)。

我看到了一些开源项目,他们在POCO中混合了验证,我看到了其他项目,他们已经向实体添加了一些行为。

如果你真的想保持你的实体没有任何行为:

  • 您可以使用装饰器模式动态地将其他职责附加到实体

  • 您可以处理商务逻辑层中的数据处理问题。