2015-09-01 79 views
0

当我做计算财产第一

public string RequestIDFormated { get; set; } 

我看到与空值输出RequestIDFormated名称;

当我更换了

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 

[global::System.Runtime.Serialization.DataMemberAttribute()] 

而且

public string RequestIDFormated 
    { 
     get 
     { 
      return RecordCreateDatetime.Year.ToString(); 
     } 
     private set { /* needed for EF */ } 
    } 

它甚至不显示在输出 我使用EF 6.1.3

+1

好吧,如果您使用的是数据库优先,手动更改上下文代码不是一个好主意...... RequestIDFormated的期望值是多少?给我们提供关于您的问题的更多信息 –

+0

期望值只是同一类中一些现有值的串联。没有什么花哨。您是否有更好的方式来显示基于来自数据库的其他项目的项目? – user14268

回答

1

如果您使用的是代码优先,则可以创建NotMapped属性以返回值的并置。就像这样:

[NotMapped] 
public string SomeProperty 
{ 
    get { return Property1 + Property2; } 
} 

但是,你正在使用的数据库,第一个,所以我认为更好的办法是使用partial class包含您的财产(必须是在同一个命名空间和组件产生的部分)。像这样:

public partial class YourEntntiy 
{ 
    public string MyNewProperty { get { return Property1 + Property2; } } 
} 
+0

[全球:: System.Runtime.Serialization.DataMemberAttribute()] 公共字符串RequestIDFormated { 得到 { 回报RecordCreateDatetime.Year.ToString(); } set {/ * EF * /} }需要这样做!只是拿走了所谓的“私人”谢谢大家 – user14268

+0

好的,但没有必要。 –