-1

我有,我生成SQL Server數據庫與實體框架模型的表的情況,但它與數據庫中的另一個表相關的所以裏面的模型也與這樣的重命名屬性或在實體框架中提供別名?

第二個表名稱的屬性
public virtual ICollection<Table2> Table2 { get; set; } 

的問題是,我該怎麼動態採取MVC的控制器是由阿賈克斯稱爲內部的數據。因此我必須在Ajax參數中公開第二個表的名稱。有沒有辦法通過創建另一個類Table1Metadata使用MetadataType屬性更改Table2的名稱?

+0

我不得不說你不能那樣做。但如果你不是這個意思,請解釋你想要的更多 –

回答

0

可以使用流利的API來改變一個表名:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<Table2>().ToTable("MyCustomTable2Name"); 
} 

這種方法可以在DbContext被重寫。

0

這是班級。

public partial class Table1 
     { 
      public Table1() 
      { 
       this.Table2= new HashSet<Table2>(); 
      } 
      public virtual ICollection<Table2> Table2{ get; set; } 
     } 
    } 

我希望能夠改變的屬性Table2的名字,但在元數據類,所以如果我從數據庫中重新生成它,它不會再如果你的意思是動態變化的關係改變爲Table2