我无法使用以下方案:
我的表格:
任务( Id ,部分,其他,信息,VorID)
文档( DocID ,部分,其他,信息)
TaskDocument( DocID , VorID )
因此,任务可以包含更多文档,但文档只能有一个任务。
我的模特:
public class Task
{
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
public int ProjecId { get; set; }
public string PositionType { get; set; }
public string Editor { get; set;
public int? VorID { get; set;}
[ForeignKey("VorID")]
public virtual List<Models.Document> Documents { get; set; }
}
public class Document
{
public int DocID { get; set; }
public Int16 Mandant { get; set; }
public int DocNumber { get; set; }
}
映射:
public TaskMapping()
{
this.HasKey(t => t.Id);
this.Property(t => t.Id).HasColumnName("Id");
this.Property(t => t.ProjecId).HasColumnName("ProjektId");
this.Property(t => t.PositionType).HasColumnName("Positiontyp");
this.Property(t => t.VorID).HasColumnName("VorID");
this.HasMany<Models.Document>(t=>t.Documents).WithMany().Map(cs =>
{
cs.MapLeftKey("VorID");
cs.MapRightKey("DocId");
cs.ToTable("TaskDocuments");
});
this.ToTable("Task", "dbo");
}
public DocumentMapping()
{
this.HasKey(t => t.DocID);
this.Property(t => t.DocID).HasColumnName("DocID");
this.Property(t => t.DocNumber).HasColumnName("SomeInfos");
this.ToTable("Documents", "dbo");
}
现在我获得了Id 123和VorID 987的任务所有文档,其中任务ID为外键,而不是VorID为FK?似乎忽略了数据注释[Foreignkey(“VorID”)],因为如果我写[Foreignkey(“DAMN”)]它也可以按照描述工作吗?!
也许有人可以帮助我?