EF:自定义逻辑,用于了解要包含/加载的对象

时间:2017-03-03 10:17:43

标签: c# entity-framework .net-core code-first

我有以下课程:

public class A
{
    public Guid Id { get; set; } = Guid.NewGuid();

    public ICollection<B> AllB { get; set; } = new List<B>();

    public B Current { get; set; }

    // other properties
}

public class B
{
    public int Id { get; set; }

    public Guid AId { get; set; }

    public A A { get; set; }

    // other properties
}

// in the DBContext
public DbSet<A> AllA { get; set; }

public IQueryable<A> AWithAllB
{
    get
    {
        return AllA.Include(c => c.AllB);
    }
}

protected override void OnModelCreating(ModelBuilder builder)
{
    builder.Entity<A>().ToTable("A");
    builder.Entity<A>().HasKey(h => h.Id);

    builder.Entity<B>().ToTable("B");
    builder.Entity<B>().HasKey(h => h.Id);
    builder.Entity<B>().HasOne(h => h.A).WithMany().HasForeignKey(r => r.AId);
}

基本上,一个A有很多B.

我所挣扎的是来自A的房产。 我希望填充此属性,但使用自定义逻辑来查找要加载的B。

在我的情况下,它将是具有我想要的最高Id的B的实例。这种逻辑将来会改变。

我怎样才能做到这一点?

0 个答案:

没有答案