Tag: 联结表

如何在EF中配置一对多关系

我有以下型号 public class PageConfig : Base { // Properties Etc.. public ICollection ScrollerImages { get; set; } } 我的方法是使用联结表{PageConfigID,ImageID}进行绑定。 在我的模型活页夹中,我尝试了以下.. modelBuilder.Entity() .HasMany(x => x.ScrollerImages) .WithMany() .Map(x => { x.ToTable(“junc_PageConfigScrollerImages”); x.MapLeftKey(“PageConfigID”); x.MapRightKey(“ImageID”); }); 这导致图像的空集合。 如何将这些图像绑定到PageConfig模型? 编辑 大多数问题是由于用户错误。 这发生在你身上…… 检查数据库中的键约束是否已正确设置。 模型上的ICollection需要是虚拟的。

NHibernate – 使用Junction / Joiner表进行多对多查询

我在这里发现了非常相似的问题,但没有一个与我正在寻找的完全匹配。 我发现的两个最接近的线程是(是的,它们是不同的线程): NHibernate多对多标准 (1) NHibernate多对多标准 (2) 但是,我认为这两者都使用直接的多对多关系。 我实际上通过与联结表具有两个一对多关系来模拟多对多关系,这是非常标准的做法。 这是我的NHibernate映射: 文件: 属性: 乔伊纳: 所以我的问题与上面的第二个链接完全相同,但是使用了连接表。 所以: 给定一组属性ID,我希望运行一个查询,该查询为我提供了具有所有匹配属性的文件。 我可以轻松地对集合中的每个属性ID运行“n”查询,并比较每个列表中出现的文件ID的每个列表,但我觉得应该有一种更简单的方法可以一次使用一个查询完成所有操作。 例: File | Attributes ———-+—————————————————– foo.txt | (mode = read-only, view = visible) bar.txt | (mode = read-write, security = all, view = visible) duck.txt | (mode = read-only, view = hidden) goose.txt | (more = read-only, security = […]