public static async Task <IEntityGateway> CreateEntityGatewayAsync(EntityGatewayLoader input) { if (input == null) { input = new EntityGatewayLoader(); } var modelRepositoryContext = new ModelRepositoryContext( new DbContextOptionsBuilder <ModelRepositoryContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); if (input.Clubs.Any()) { await modelRepositoryContext.ClubModelDbSet .AddRangeAsync(input.Clubs.Select(m => m.GetModel()).ToArray()); } if (input.Users.Any()) { await modelRepositoryContext.UserModelDbSet .AddRangeAsync(input.Users.Select(m => m.GetModel()).ToArray()); } await modelRepositoryContext.SaveChangesAsync(); return(new EntityGateway(modelRepositoryContext)); }
public static async Task <IEntityGateway> CreateEntityGatewayAsync(Club[] clubs) { var modelRepositoryContext = new ModelRepositoryContext( new DbContextOptionsBuilder <ModelRepositoryContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); await modelRepositoryContext.ClubModelDbSet .AddRangeAsync(clubs.Select(m => m.GetModel()).ToArray()); await modelRepositoryContext.SaveChangesAsync(); return(new EntityGateway(modelRepositoryContext)); }
//constructors public EntityGateway(ModelRepositoryContext context) { _modelRepository = context ?? throw new ArgumentNullException(nameof(context)); }