我在傳統數據庫中具有以下表格。映射表關係w /只有主鍵從現有數據庫到實體框架對象
數據 數據ID PK, 年, 數
_1 數據ID PK, note_1, 完成
_2 數據ID PK, note_2, 類型, 對象
data_other 數據ID PK, note_other, 一個, B, Ç
我的模型類看起來像;
public class Data
{
public int DataID { get; set; }
public int Year { get; set; }
public int Number { get; set; }
}
public class Data1
{
public int DataID { get; set; }
public int Note1{ get; set; }
public int Completed { get; set; }
}
public class Data1
{
public int DataID { get; set; }
public int Note2 { get; set; }
public string Type { get; set; }
public string Object { get; set; }
}
public class DataOther
{
public int DataID { get; set; }
public int NoteOther { get; set; }
public string A { get; set; }
public string B { get; set; }
public string C { get; set; }
}
public DbSet<Data> Datas { get; set; }
public DbSet<Data1> Data1s { get; set; }
public DbSet<Data2> Data2s { get; set; }
public DbSet<DataOther> DataOthers { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Data>().ToTable("data");
modelBuilder.Entity<Data>().HasKey(t => t.DataID);
modelBuilder.Entity<Data1>().ToTable("data_1");
modelBuilder.Entity<Data1>().HasKey(t => t.DataID);
modelBuilder.Entity<Data2>().ToTable("data_2");
modelBuilder.Entity<Data2>().HasKey(t => t.DataID);
modelBuilder.Entity<DataOther>().ToTable("data_other");
modelBuilder.Entity<DataOther>().HasKey(t => t.DataID);
}
我從教程和博客想盡了各種辦法,但我似乎無法做到這一點,
modelBuilder.Entity<Data>()
.HasRequired(a => a)
.WithMany()
.HasForeignKey(a => a);
的問題,因爲我看到的是,我們只有主鍵和沒有外鍵。我使用MVC3和實體框架5.我想要的只是在例如視圖@ Model.Datas.Others.NoteOther其他
但我如何可以創建這些表之間的關係的任何提示是偉大的!
有沒有一些原因,你沒有生成th數據庫中的e模型? – podiluska
如果您使用Database-First,則可以將關聯添加到模型中 - 您只需要小心,該關聯使用自己的字段並且不會創建新字段。我用這種方式,它工作正常。 – TGlatzer
是的,因爲還有其他遺留系統正在使用數據庫。我試圖在功能上添加一個搜索。 –