entity framework 核心重用一组包含语句

entity framework core reuse a set of include statements

如何清理我的实体 'includes' 以重用同一组语句?我试图在保持 DRY 的同时重用一组包含。

之前

_context.Accounts
              .Include(x=> x.Status)
              .Include(x=> x.Type)
              .Include(x=> x.Phones)
              .Include(x=> x.Users)
              .Include(x=> x.Admins)

之后:

_context.Accounts.CustomIncludes()

试试这个:

public static class DataExtensions
{
    public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<Account, List<Admin>> CustomIncludes(this DbSet<Account> accounts)
    {
        return accounts
            .Include(p => p.Status)
            .Include(p => p.Type)
            .Include(p => p.Phones)
            .Include(p => p.Users)
            .Include(p => p.Admins);
    }
}

那你可以说

context.Accounts.CustomIncludes();