我在旧数据库中有以下表。
数据 dataid PK、年份、数字
data_1 dataid PK,note_1,完成
data_2 dataid PK,note_2,类型,对象
data_other dataid PK, note_other, a, b, c
我的模型类看起来像;
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 和 Entity Framework 5。我想要的只是例如在视图 @Model.Datas.Others.NoteOther 中通过
但是关于如何在这些表之间创建关系的任何提示都很棒!