public void Does_update_self_FK_Key_when_saving_references() { using var db = OpenDbConnection(); RecreateTables(db); for (var i = 1; i <= 5; i++) { var research = new ResearchEntity(); research.Names.Add(new NameEntity { Value = $"test {1 + i}" }); research.Names.Add(new NameEntity { Value = $"test {2 + i}" }); research.Names.Add(new NameEntity { Value = $"test {3 + i}" }); db.Save(research, references: true); research.PrimaryNameId = research.Names[1].Id; db.Save(research); } OrmLiteUtils.PrintSql(); var res = db.LoadSelect( db.From <ResearchEntity>().Where(x => x.Id == 5)) .FirstNonDefault(); Assert.That(res.PrimaryName.Id, Is.EqualTo(res.PrimaryNameId)); }
public async Task Does_update_self_FK_Key_when_saving_references_Async() { using var db = await OpenDbConnectionAsync(); db.DropAndCreateTable<NameEntity>(); db.DropAndCreateTable<ResearchEntity>(); for (var i = 1; i <= 5; i++) { var research = new ResearchEntity(); research.Names.Add(new NameEntity {Value = $"test {1 + i}"}); research.Names.Add(new NameEntity {Value = $"test {2 + i}"}); research.Names.Add(new NameEntity {Value = $"test {3 + i}"}); await db.SaveAsync(research, references: true); research.PrimaryNameId = research.Names[1].Id; await db.SaveAsync(research); } OrmLiteUtils.PrintSql(); var res = (await db.LoadSelectAsync( db.From<ResearchEntity>().Where(x => x.Id == 5))) .FirstNonDefault(); Assert.That(res.PrimaryName.Id, Is.EqualTo(res.PrimaryNameId)); }