如何引用多个模型(课程,设置) 到一个模型(文件)
public class File
{
public int ID { get; set; }
public int Path { get; set; }
}
public class Lesson
{
public int ID { get; set; }
public virtual File File { get; set; }
}
public class Set
{
public int ID { get; set; }
public virtual List<File> Files { get; set; }
}
我尝试将int File表放入ForigenKey但是然后在Lesson之间存在重复问题来设置
任何想法?
答案 0 :(得分:0)
我仍然试图理解你的目标,你是否希望File只被一个Lesson引用,就像一个独特的索引?与Set相同?文件不能是不同集的一部分?如果是,我会添加一个索引到课程和集合,我会创建另一个类,并添加一个索引。像这样:
public class File
{
public int ID { get; set; }
public int Path { get; set; }
}
public class Lesson
{
public int ID { get; set; }
[ForeignKey("File")]
[Index("IX_UniqueLessonFileId", IsUnique =true)]
public int FileID { get; set; }
public virtual File File { get; set; }
}
public class Set
{
public int ID { get; set; }
public virtual ICollection<SetFile> Files { get; set; }
}
public class SetFile
{
public int ID { get; set; }
[ForeignKey("Set")]
public int SetId {get;set;}
public virtual Set Set { get; set; }
[ForeignKey("File")]
[Index("IX_UniqueSetFileId", IsUnique =true)]
public int FileId {get;set;}
public virtual File File { get; set; }
}