2017-04-18 63 views
1

我有这个类是在Entify框架定义(数据库第一),其中包含以下几列如何在此改变默认的实体框架构造

ID (guid) 
Name (string) 
Active (bool) 
Some Other stuff... 

name列实际上应该是一些“计算”的结果是是类似于“CurrentYear + ParentName”

我可以很容易地获得信息之前保存,但我想我是之前获得该信息。

我知道,无论我在edmx中放入默认值的任何信息都会右移,并且我检查了生成的文件。我看到了一个正常的构造函数。

所以我的问题其实很简单。我如何“覆盖”这个构造函数。如果我不能,有没有办法在实体的默认值中添加一些计算?

谢谢。

+1

的问题会。每当你这样做,你的改变将被恢复。 –

+0

您可以将具有参数的构造函数添加到部分文件中。 –

+0

@MightyBadaboom:我知道。这是我的主要问题。格特,它听起来很奇怪,但我不能,在这种情况下,有一个带参数的consructor。 –

回答

0

试试这个:当你更新与数据库的EDMX文件

// your custom class 
public partial class MyEntityClass 
{ 
    public string CustomName => CurrentYear.ToString() + ParentName; 
} 

// EF Generated class 
public partial class MyEntityClass 
{ 
    public int ID { get; set; } 
    public int CurrentYear { get; set; } 
    public string ParentName { get; set; } 
} 
+0

对于简单情况,这是一个好主意,但假设我需要从链接的对象中获取信息以供参考。 –

+0

Tbh还没有尝试过类似的东西,如果我会找到一些解决方案,我会发布^^ – QuietNaN

+0

其实,这将意味着虽然在数据库中找不到CustomName?这不能做到这一点 –