0

我想根据存在的相关数据选择记录。

var data = await _dbContext
.MyData
.Include(d => d.Related)
.Where(r => r.Related.Any())
.ToList();

选择应该只选择具有相关数据的数据。有什么建议么?

4

1 回答 1

0
var data = await _dbContext
                .MyData
                .Where(x => x.Related != null)
                .Include(d => d.Related)
                .ToList();

没有任何约束,您将获得左联接因此,如果您用作[Required]RelatedId 的属性,您将获得左联接

并研究以下映射

//for left joins        
modelBuilder.Entity<MyData>()
            .HasOptional(a => a.Related) 
            .WithMany()
            .HasForeignKey(a => a.RelatedId);

//for inner join
modelBuilder.Entity<MyData>()
            .HasRequired(a => a.Related) 
            .WithMany()
            .HasForeignKey(a => a.RelatedId);
于 2019-09-04T06:56:17.667 回答