我有一个具有复合键的查找表 我有一组可以访问它的表,它们构建在一个抽象类上。
我似乎无法使映射工作,我不知道为什么。我在这里看了很多博客文章和问题,但我仍然坚持。
这是查找表
public partial class ColumnMapping
{
public string TableName { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
这是它的映射
ToTable("ColumnMap");
HasKey(t => new { t.TableName, t.Id });
Property(t => t.TableName).HasColumnName("TableName");
Property(t => t.Id).HasColumnName("ID");
Property(t => t.Name).HasColumnName("Name").IsRequired();
Property(t => t.Value).HasColumnName("Value").IsRequired();
在另一张表中我有属性
public virtual ColumnMapping ColumnMap { get; set; }
这给出了类似的东西
modelBuilder.Entity<Course>()
.HasRequired(c => c.Department)
.WithMany(d => d.Courses)
.HasForeignKey(d => new { d.DepartmentID, d.DepartmentName });
但这并不奏效。
我似乎无法获得不会导致编译错误的映射。
例如
HasRequired(m => m.ColumnMap).WithMany().HasForeignKey(ex => new { tableName, ex.Id });
不允许。