public static void Update()
        {
            context.Update <User>(a => a.Id == 1, a => new User()
            {
                Name = a.Name, Age = a.Age + 100, Gender = Gender.Man, OpTime = DateTime.Now
            });

            /*
             * UPDATE `Users` SET `Name`=`Users`.`Name`,`Age`=(`Users`.`Age` + 100),`Gender`=1,`OpTime`=NOW() WHERE `Users`.`Id` = 1
             */

            //批量更新
            //给所有女性年轻 10 岁
            context.Update <User>(a => a.Gender == Gender.Woman, a => new User()
            {
                Age = a.Age - 10, OpTime = DateTime.Now
            });

            /*
             * UPDATE `Users` SET `Age`=(`Users`.`Age` - 10),`OpTime`=NOW() WHERE `Users`.`Gender` = 2
             */

            User user = new User();

            user.Id     = 1;
            user.Name   = "lu";
            user.Age    = 28;
            user.Gender = Gender.Man;
            user.OpTime = DateTime.Now;

            context.Update(user); //会更新所有映射的字段

            /*
             * String ?P_0 = 'lu';
             * Gender ?P_1 = Man;
             * Int32 ?P_2 = 28;
             * Nullable<Int32> ?P_3 = NULL;
             * DateTime ?P_4 = '2016/8/26 18:18:36';
             * Int32 ?P_5 = 1;
             * UPDATE `Users` SET `Name`=?P_0,`Gender`=?P_1,`Age`=?P_2,`CityId`=?P_3,`OpTime`=?P_4 WHERE `Users`.`Id` = ?P_5
             */


            /*
             * 支持只更新属性值已变的属性
             */

            context.TrackEntity(user); //在上下文中跟踪实体
            user.Name = user.Name + "1";
            context.Update(user);      //这时只会更新被修改的字段

            /*
             * String ?P_0 = 'lu1';
             * Int32 ?P_1 = 1;
             * UPDATE `Users` SET `Name`=?P_0 WHERE `Users`.`Id` = ?P_1
             */

            ConsoleHelper.WriteLineAndReadKey();
        }
Exemple #2
0
        public static void Update()
        {
            context.Update <User>(a => new User()
            {
                Name = a.Name, Age = a.Age + 100, Gender = Gender.Man, OpTime = DateTime.Now
            }, a => a.Id == 1);

            /*
             * UPDATE [Users] SET [Name]=[Users].[Name],[Age]=([Users].[Age] + 100),[Gender]=1,[OpTime]=DATETIME('NOW','LOCALTIME') WHERE [Users].[Id] = 1
             */

            //批量更新
            //给所有女性年轻 10 岁
            context.Update <User>(a => new User()
            {
                Age = a.Age - 10, OpTime = DateTime.Now
            }, a => a.Gender == Gender.Woman);

            /*
             * UPDATE [Users] SET [Age]=([Users].[Age] - 10),[OpTime]=DATETIME('NOW','LOCALTIME') WHERE [Users].[Gender] = 2
             */

            User user = new User();

            user.Id     = 1;
            user.Name   = "lu";
            user.Age    = 28;
            user.Gender = Gender.Man;
            user.OpTime = DateTime.Now;

            context.Update(user); //会更新所有映射的字段

            /*
             * String @P_0 = 'lu';
             * Gender @P_1 = Man;
             * Int32 @P_2 = 28;
             * Nullable<Int32> @P_3 = NULL;
             * DateTime @P_4 = '2016/8/6 22:05:02';
             * Int32 @P_5 = 1;
             * UPDATE [Users] SET [Name]=@P_0,[Gender]=@P_1,[Age]=@P_2,[CityId]=@P_3,[OpTime]=@P_4 WHERE [Users].[Id] = @P_5
             */


            /*
             * 支持只更新属性值已变的属性
             */

            context.TrackEntity(user); //在上下文中跟踪实体
            user.Name = user.Name + "1";
            context.Update(user);      //这时只会更新被修改的字段

            /*
             * String @P_0 = 'lu1';
             * Int32 @P_1 = 1;
             * UPDATE [Users] SET [Name]=@P_0 WHERE [Users].[Id] = @P_1
             */

            ConsoleHelper.WriteLineAndReadKey();
        }