public void UpdateWhenNotExists() { var repos = g.sqlite.GetGuidRepository <AddUpdateInfo>(); var item = new AddUpdateInfo { Id = Guid.NewGuid() }; item.Title = "xxx"; Assert.Throws <Exception>(() => repos.Update(item)); }
public void Update() { g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows(); var repos = g.sqlite.GetGuidRepository <AddUpdateInfo>(); var item = new AddUpdateInfo { Id = g.sqlite.Select <AddUpdateInfo>().First().Id }; item.Title = "xxx"; repos.Update(item); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item)); }
public void UpdateAttach() { var repos = g.sqlite.GetGuidRepository <AddUpdateInfo>(); var item = new AddUpdateInfo { Id = Guid.NewGuid() }; repos.Attach(item); item.Title = "xxx"; repos.Update(item); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item)); Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql()); repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows(); item = repos.Find(item.Id); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item)); }
public async Task Updatemysql() { var item1 = new AddUpdateInfo(); g.mysql.Insert(item1).ExecuteAffrows(); var item2 = new AddUpdateInfo(); g.mysql.Insert(item2).ExecuteAffrows(); var item3 = new AddUpdateInfo(); g.mysql.Insert(item3).ExecuteAffrows(); var repos = g.mysql.GetGuidRepository <AddUpdateInfo>(); var items = repos.Select.WhereDynamic(new[] { item1, item2, item3 }).ToList(); items[0].Title = "88"; //items[1].Title = "88"; items[2].Title = "88"; int x = await repos.UpdateAsync(items); }
public void AsType() { g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows(); var repos = g.sqlite.GetGuidRepository <object>(); repos.AsType(typeof(AddUpdateInfo)); var item = new AddUpdateInfo(); repos.Insert(item); repos.Update(item); item.Clicks += 1; repos.InsertOrUpdate(item); var item2 = repos.Find(item.Id) as AddUpdateInfo; Assert.Equal(item.Clicks, item2.Clicks); repos.DataFilter.Apply("xxx", a => (a as AddUpdateInfo).Clicks == 2); Assert.Null(repos.Find(item.Id)); }
public void UpdateAttach() { var repos = g.sqlite.GetGuidRepository <AddUpdateInfo>(); var item = new AddUpdateInfo { Id = Guid.NewGuid() }; repos.Attach(item); item.Title = "xxx"; repos.Update(item); //这行执行 UPDATE "AddUpdateInfo" SET "Title" = 'xxx' WHERE("Id" = '1942fb53-9700-411d-8895-ce4cecdf3257') Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item)); repos.Update(item); //这行不执行 SQL,未变化 repos.AttachOnlyPrimary(item).Update(item); //这行更新状态值,只有主键值存在,执行更新 set title = xxx Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql()); repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows(); item = repos.Find(item.Id); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item)); }