public void Mappings_AreCorrectly_Setup() { string connectionString = GetConnectionString(); TruncateAllTables(connectionString); Build expectedBuild = CreateBuild(); using (var db = new MetricsDbContext(connectionString)) { db.Builds.Add(expectedBuild); Task saveTask = db.SaveChangesAsync(); saveTask.Wait(); } List<Build> allBuilds; using (var anotherDbInstance = new MetricsDbContext(connectionString)) { var db = anotherDbInstance; var queryTask = (from b in db.Builds select b).ToListAsync(); queryTask.Wait(); allBuilds = queryTask.Result; } allBuilds.ShouldNotBeNullAndHaveCount(1); Build actualBuild = allBuilds.First(); actualBuild.Id.Should().NotBe(0); actualBuild.ShouldBeEquivalentTo(expectedBuild, options => options.Including(p => p.Name)); }
private void TruncateAllTables(string connectionString) { var asmName = Assembly.GetExecutingAssembly().GetName().Name; var resourceName = string.Format("{0}.Scripts.DeleteAllData.sql", asmName); // ReSharper disable once AssignNullToNotNullAttribute var streamReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)); string sql; using (streamReader) sql = streamReader.ReadToEnd(); using (var db = new MetricsDbContext(connectionString)) db.Database.ExecuteSqlCommand(sql); }