EF中的完全自定义属性

时间:2012-06-01 20:09:06

标签: entity-framework

在C#中使用EF和Winforms。我想使用部分类向我们的实体添加完整的自定义属性。所有实体已经有部分类和验证的东西,还有一些更多,所以我只是添加我需要的属性。完全属性我指的是具有getter和setter的属性,因此不仅仅是计算/ readonly属性。我想这主要是为了绕过直接使用一些设计糟糕或有其他问题的DB映射属性。 例如,一个案例就是这样:

// entity class, generated
public partial class Customer
{
  public string Spot {get;set}
}

// partial class, manually changed
public partial class Customer
{
  public int? xxxSpot 
          { get   {  return Int32.Parse(Spot.Trim()); }  // some code omitted 
          { set   { Spot = value.ToString().PadLeft(5); }
}

因此,我的自定义属性将围绕实体的现有DB映射属性构建。我想像普通的自定义属性一样使用这些自定义属性,即将它们绑定到UI控件等等。我试过一个,到目前为止效果很好。 这是一个好主意吗?如果没有,为什么?这样做时我还应该考虑什么呢?

1 个答案:

答案 0 :(得分:1)

你已回答了自己的问题 - 它有效,没有理由不这样做。如果您想改进实体的设计,您甚至可以尝试change visibility映射属性,以确保其他类必须仅使用具有附加逻辑的自定义属性。