-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