2014-07-23 109 views
0

我不確定問題的措辭是否正確,但這是我想要做的。實體框架數據庫第一,如何添加實體關聯?

我正在使用linq-to-sql重寫一個VB.Net應用程序。他們使用的對象,有很多其他對象在它:

[Table(Name = "dbo.ParentTable")] 
public class ParentTable : LINQEntityBase, INotifyPropertyChanging, INotifyPropertyChanged 
{ 
    //Stuff 

    //This Guy 
    [Association(Name = "ParentTable_ParentTableProperties", Storage = "_ParentTableProperties", ThisKey = "WQI_Key", OtherKey = "WQI_Key")] 
    public EntitySet<ParentTableProperty> ParentTableProperties { get; set; } 

    //More stuff 
} 

當我產生我的DB第一款車型沒有實際有啥我最終是所有的屬性數據庫的關係沒有屬性的表格

public partial class ParentTable 
{ 
    //stuff 

    //I need to add the EntitySet or an IEnumerable<ParentTableProperty> here but this is a generated class.... 

} 

我在ORMS中的大部分經驗非常有限,與Fluent NHibernate有關。我不知道如何在代碼中添加關係(由於我無法進入此處的原因,我無法編輯表格)。

一篇文章討論這個鏈接會很好。我老實說不知道我想要做什麼被調用(因此我的谷歌嘗試是史詩般的失敗)。

回答

0

感謝Robbin Cremers blog post我找到了一個解決方案(我強調一個解決方案,因爲我不太瞭解這個問題,說它是最好的)。由於實體框架使用部分類,構建從數據庫中的對象,你可以創建自己的自定義對象,並添加到生成一個:

//********************** 
//Blah blah blah 
//This is generated code 
//Blah blah blah 
//*********************** 

public partial class ParentTable 
{ 
     //stuff 
} 

,然後在一個新的文件(因此,如果您重新生成模型,可以做沒有被覆蓋):

public partial class ParentTable 
{ 
    public virtual DbSet<ParentTableProperty> Properties { get; set; } 
} 

現在在編譯時它將被編譯成看起來像一個類。

public class ParentTable 
{ 
    //stuff 
    public virtual DbSet<ParentTableProperty> Properties { get; set; } 
} 
相關問題