在实体框架核心中,是否有可能将dbsets以某种方式放入子类中,以便在代码中逻辑地将它们组合在一起?
所以,在c#中,而不是:
context.books
可能是context.library.books
?
效果:
public class AppContext : DbContext
{
public LibrarySets Library { get; }
private DbSet<Book> Books { get; set; }
public AppContext() => Library = new LibrarySets(this);
public class LibrarySets
{
private readonly AppContext _appContext;
public LibrarySets(AppContext context) => _appContext = context;
public DbSet<Book> Books => _appContext.Books;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
@"Server=(localdb)mssqllocaldb;Database=App;Trusted_Connection=true;");
}
}