继承IModelBase实现业务类 默认主健为ID,不可更改
Inheritance: CRL.IModelBase
Example #1
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            var item = new Code.ProductData()
            {
                InterFaceUser = "******", ProductName = "product2", BarCode = "1212122", UserId = 1, Number = 10
            };

            Code.ProductDataManage.Instance.Add(item);
        }
Example #2
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            var data = new Code.ProductData();

            data.Id = 1;
            string remark = System.IO.File.ReadAllText(Server.MapPath("code.txt"));

            data.Change(b => b.Remark, remark);
            Code.ProductDataManage.Instance.Update(data);
        }
Example #3
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            var item = new Code.ProductData()
            {
                InterFaceUser = "******", ProductName = "product2" + DateTime.Now.Second, BarCode = "1212122", UserId = 1, Number = 10
            };

            item.Object2 = DateTime.Now;
            Code.ProductDataManage.Instance.Add(item, false);
        }
Example #4
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     //要更新属性集合
     CRL.ParameCollection c = new CRL.ParameCollection();
     c["ProductName"] = "product1";
     Code.ProductDataManage.Instance.Update(b => b.Id == 4, c);
     //按对象差异更新
     var p = new Code.ProductData() { Id = 4 };
     //手动修改值时,指定修改属性以在Update时识别,分以下几种形式
     p.Change(b => b.BarCode);//表示值被更改了
     p.Change(b => b.BarCode,"123");//通过参数赋值
     p.Change(b => b.BarCode == "123");//通过表达式赋值
     Code.ProductDataManage.Instance.Update(b => b.Id == 4, p);//指定查询更新
     Code.ProductDataManage.Instance.Update(p);//按主键更新,主键值是必须的
 }
Example #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var name   = Request["name"];
            var manage = Code.ProductDataManage.Instance;

            Code.ProductData data = null;
            var time  = DateTime.Now;
            var query = manage.GetLambdaQuery();

            query.Where(b => b.Number > time.Second);
            //var result = query.SelectV(b => new { b.TransType, b.UserId }).ToList();
            var result = query.ToList();

            Response.Write(query.PrintQuery());
            //Code.TestAll.TestUpdate();
            //return;
            //Update.TestModified();
        }
Example #6
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            //要更新属性集合
            CRL.ParameCollection c = new CRL.ParameCollection();
            c["ProductName"] = "product1";
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, c);
            //按对象差异更新
            var p = new Code.ProductData()
            {
                Id = 4
            };

            //手动修改值时,指定修改属性以在Update时识别,分以下几种形式
            p.Change(b => b.BarCode);                                  //表示值被更改了
            p.Change(b => b.BarCode, "123");                           //通过参数赋值
            p.Change(b => b.BarCode == "123");                         //通过表达式赋值
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, p); //指定查询更新
            Code.ProductDataManage.Instance.Update(p);                 //按主键更新,主键值是必须的
        }
Example #7
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     //ProductData 限定了 BarCode不能为空
     //这里设为空,提交时会抛出异常
     var item = new Code.ProductData() { InterFaceUser = "******", ProductName = "product2", BarCode = "" };
     var msg = item.CheckData();
     if (!string.IsNullOrEmpty(msg))//手动判断对象数据是否合法
     {
         Response.Write(msg);
     }
     try
     {
         Code.ProductDataManage.Instance.Add(item);
     }
     catch(Exception ero)//捕获异常
     {
         Response.Write(ero.Message);
     }
 }
Example #8
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            //更新传值有多种方式

            //字典传参的形式
            CRL.ParameCollection c = new CRL.ParameCollection();
            c["ProductName"] = "product1";
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, c);
            //按匿名对象
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, new { ProductName = "product1" });

            //按对象差异更新
            var p = new Code.ProductData()
            {
                Id = 4
            };

            //手动修改值时,指定修改属性以在Update时识别,分以下几种形式
            p.Change(b => b.BarCode);                                  //表示值被更改了
            p.Change(b => b.BarCode, "123");                           //通过参数赋值
            p.Change(b => b.BarCode == "123");                         //通过表达式赋值
            p.Cumulation(b => b.ProductName, "1");                     //表示按字段累加
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, p); //指定查询更新

            //当对象是查询创建则能自动识别
            p             = Code.ProductDataManage.Instance.QueryItem(b => b.Id > 0);
            p.UserId     += 1;                         //只会更新UserId
            p.ProductName = "2342342";
            Code.ProductDataManage.Instance.Update(p); //按主键更新,主键值是必须的

            //使用完整查询关联更新
            var query = Code.OrderManage.Instance.GetLambdaQuery();

            query.Join <Code.ProductData>((a, b) => a.Id == b.Id && b.Number > 10);
            c           = new CRL.ParameCollection();
            c["UserId"] = "$UserId"; //order.userid=product.userid
            c["Remark"] = "2222";    //order.remark=2222
            Code.OrderManage.Instance.Update(query, c);
            //等效语句为 update order set userid=ProductData.userid,remark='2222' from ProductData where order.id=ProductData.id and ProductData.number<10
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //ProductData 限定了 BarCode不能为空
            //这里设为空,提交时会抛出异常
            var item = new Code.ProductData()
            {
                InterFaceUser = "******", ProductName = "product2", BarCode = ""
            };
            var msg = item.CheckData();

            if (!string.IsNullOrEmpty(msg))//手动判断对象数据是否合法
            {
                Response.Write(msg);
            }
            try
            {
                Code.ProductDataManage.Instance.Add(item);
            }
            catch (Exception ero)//捕获异常
            {
                Response.Write(ero.Message);
            }
        }
Example #10
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            var item = new Code.ProductData() { InterFaceUser = "******", ProductName = "product2", BarCode = "1212122",UserId=1,Number=10 };

            Code.ProductDataManage.Instance.Add(item);
        }
Example #11
0
        public static void TestUpdate()
        {
            var instance = Code.ProductDataManage.Instance;
            #region 更新
            //要更新属性集合
            CRL.ParameCollection c = new CRL.ParameCollection();
            c["ProductName"] = "product1";
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, c);
            //按对象差异更新
            var p = new Code.ProductData() { Id = 4 };
            //手动修改值时,指定修改属性以在Update时识别,分以下几种形式
            p.Change(b => b.BarCode);//表示值被更改了
            p.Change(b => b.BarCode, "123");//通过参数赋值
            p.Change(b => b.BarCode == "123");//通过表达式赋值
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, p);//指定查询更新

            p = Code.ProductDataManage.Instance.QueryItem(b => b.Id > 0);
            p.UserId += 1;
            Code.ProductDataManage.Instance.Update(p);//按主键更新,主键值是必须的
            #endregion

            #region 缓存更新
            var item = Code.ProductDataManage.Instance.QueryItemFromCache(1);
            var guid = Guid.NewGuid().ToString().Substring(0,8);
            item.Change(b => b.SupplierName, guid);
            Code.ProductDataManage.Instance.Update(item);
            item = Code.ProductDataManage.Instance.QueryItemFromCache(1);
            var item2 = Code.ProductDataManage.Instance.QueryItem(1);
            var a = item.SupplierName == item2.SupplierName && item.SupplierName == guid;
            if (!a)
            {
                throw new Exception("更新缓存失败");
            }
            #endregion

            #region 事务
            string error;
            item = Code.ProductDataManage.Instance.QueryItem(1);

            var result = Code.ProductDataManage.Instance.PackageTrans((out string ex) =>
            {
                ex = "";
                var product = new ProductData();
                product.BarCode = "sdfsdf";
                product.Number = 10;
                ProductDataManage.Instance.Add(product);
                return false;
            }, out error);
            if (result)
            {
                throw new Exception("事务未回滚");
            }
            #endregion
        }
Example #12
0
        public static void TestUpdate()
        {
            var instance = Code.ProductDataManage.Instance;

            #region 更新
            //要更新属性集合
            CRL.ParameCollection c = new CRL.ParameCollection();
            c["ProductName"] = "product1";
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, c);
            //按对象差异更新
            var p = new Code.ProductData()
            {
                Id = 4
            };
            //手动修改值时,指定修改属性以在Update时识别,分以下几种形式
            p.Change(b => b.BarCode);                                  //表示值被更改了
            p.Change(b => b.BarCode, "123");                           //通过参数赋值
            p.Change(b => b.BarCode == "123");                         //通过表达式赋值
            Code.ProductDataManage.Instance.Update(b => b.Id == 4, p); //指定查询更新

            p         = Code.ProductDataManage.Instance.QueryItem(b => b.Id > 0);
            p.UserId += 1;
            Code.ProductDataManage.Instance.Update(p);//按主键更新,主键值是必须的

            //关联更新
            var query = Code.OrderManage.Instance.GetLambdaQuery();
            query.Join <ProductData>((a, b) => a.Id == b.Id && b.Number > 10);
            c           = new CRL.ParameCollection();
            c["UserId"] = "$UserId"; //order.userid=product.userid
            c["Remark"] = "2222";    //order.remark=2222
            Code.OrderManage.Instance.Update(query, c);

            #endregion

            #region  除
            //关联删除
            var query2 = Code.ProductDataManage.Instance.GetLambdaQuery();
            query2.Where(b => b.Id == 10);
            query2.Join <Code.Member>((a, b) => a.SupplierId == "10" && b.Name == "123");
            Code.ProductDataManage.Instance.Delete(query2);
            Code.ProductDataManage.Instance.Delete(999);
            #endregion

            #region 缓存更新
            //按编号为1的数据
            var item = Code.ProductDataManage.Instance.QueryItemFromCache(b => b.Id > 0);
            item.CheckNull("item");
            var guid = Guid.NewGuid().ToString().Substring(0, 8);
            item.Change(b => b.SupplierName, guid);
            Code.ProductDataManage.Instance.Update(item);
            item = Code.ProductDataManage.Instance.QueryItemFromCache(item.Id);
            var item2 = Code.ProductDataManage.Instance.QueryItem(item.Id);
            var a2    = item.SupplierName == item2.SupplierName && item.SupplierName == guid;
            if (!a2)
            {
                throw new Exception("更新缓存失败");
            }
            #endregion

            #region 事务
            string error;
            item = Code.ProductDataManage.Instance.QueryItem(1);

            var result = Code.ProductDataManage.Instance.PackageTrans((out string ex) =>
            {
                ex              = "";
                var product     = new ProductData();
                product.BarCode = "sdfsdf";
                product.Number  = 10;
                ProductDataManage.Instance.Add(product);
                return(false);
            }, out error);
            if (result)
            {
                throw new Exception("事务未回滚");
            }
            #endregion
        }