public MongoDbContextModel GetModel(CafMongoDbContext dbContext) { return(ModelCache.GetOrAdd( dbContext.GetType(), _ => CreateModel(dbContext) )); }
private MongoDbContextModel CreateModel(CafMongoDbContext dbContext) { var modelBuilder = new MongoModelBuilder(); BuildModelFromDbContextType(modelBuilder, dbContext.GetType()); BuildModelFromDbContextInstance(modelBuilder, dbContext); return(modelBuilder.Build()); }
protected virtual void BuildModelFromDbContextInstance(MongoModelBuilder modelBuilder, CafMongoDbContext dbContext) { dbContext.CreateModel(modelBuilder); }