2011-01-13 209 views
1

我有一个名为Product的实体,具有ProductCode属性。我想在ProductCode属性上透明地维护一个前缀,该前缀对应用程序的其余部分是不可见的,但在实体中保留。实体框架覆盖属性获取

我能做到这一点,设置前缀:

partial void OnProductCodeChanged() 
    { 
     if (EntityState != System.Data.EntityState.Detached) 
     { 
      if (this.ProductCode.Length == 11) 
      { 
       this.ProductCode = "AAA" + this.ProductCode; 
      } 
     } 
    } 

这工作,但我怎么可以重写产品代码的get当物体被取出自动剥离“AAA”的前缀?

回答

1

为什么不添加一个内部属性这样

internal string InternalProductCode 
{ 
    get 
    { 
      return String.Format("AAA-{0}",this.ProductCode); 
    } 
} 

然后使用,当你需要的前缀码...

+0

我需要的前缀值实际上是在数据库供以后出口。我目前只是为了阅读目的而与另一个neame签署财产,但希望有一个更好的方法。 – Craig 2011-01-13 17:11:46