Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
        }