public void Tags_Remove_RelationShipRemoved() { using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { var company = new Company { Name = "Dummy" }; var tag = new Tag { Name = "Prio1" }; company.Tags.Add(tag); ctx.Companies.Add(company); ctx.SaveChangesSafe(); } using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { var tag = ctx.Tags.Single(); ctx.Tags.Remove(tag); ctx.SaveChangesSafe(); DBAssert.RowNotExists(ctx.Database, "Tags", "Id", tag.Id); DBAssert.RowNotExists(ctx.Database, "CompanyTags", "Tag_Id", tag.Id); } }
public void Tags_Add_PersistedToDb() { var company = new Company { Name = "Dummy" }; var tag = new Tag { Name = "Prio1" }; company.Tags.Add(tag); using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { ctx.Companies.Add(company); ctx.SaveChangesSafe(); DBAssert.RowExists(ctx.Database, "Tags", "Id", tag.Id); var result = ctx.Database.SqlQuery <CompanyTags>(string.Format("SELECT * FROM CompanyTags WHERE Company_Id = {0}", company.Id)); Assert.That(result, Is.Not.Empty); Assert.That(result.Single().Tag_Id, Is.EqualTo(tag.Id)); } }
private void SaveAndVerify(Company company, string tableToVerify, string idColumn, Func <Company, long> GetId) { using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { ctx.Companies.Add(company); ctx.SaveChangesSafe(); DBAssert.RowExists(ctx.Database, tableToVerify, idColumn, GetId(company)); } }
private void DeleteAndVerify(Company company, string tableToVerify, string idColumn, Func <Company, long> GetId) { using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { company = ctx.Companies.Single(); var id = GetId(company); ctx.Companies.Remove(company); ctx.SaveChangesSafe(); DBAssert.RowNotExists(ctx.Database, tableToVerify, idColumn, id); } }
public void DeleteCurrency_WithTranslations_DeleteCascades() { var euro = new Currency { Name = "Euro", Symbol = "EUR" }; var dollar = new Currency { Name = "Dollar", Symbol = "USD" }; var translation = new Translation { Source = euro, Target = dollar, Rate = 1 }; euro.Translations.Add(translation); using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { ctx.Currencies.Add(euro); ctx.Currencies.Add(dollar); ctx.SaveChangesSafe(); DBAssert.RowExists(ctx.Database, "Currencies", "Id", euro.Id); DBAssert.RowExists(ctx.Database, "Currencies", "Id", dollar.Id); DBAssert.RowExists(ctx.Database, "Translations", "SourceId", euro.Id); } using (var ctx = ( AssetsContext )Db.CreateAssetsContext()) { euro = ctx.Currencies.Single(c => c.Name == "Euro"); dollar = ctx.Currencies.Single(c => c.Name == "Dollar"); var id = euro.Id; ctx.Currencies.Remove(euro); ctx.Currencies.Remove(dollar); ctx.SaveChangesSafe(); DBAssert.RowNotExists(ctx.Database, "Currencies", "Id", euro.Id); DBAssert.RowNotExists(ctx.Database, "Currencies", "Id", dollar.Id); DBAssert.RowNotExists(ctx.Database, "Translations", "SourceId", euro.Id); } }