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));
        }