コード例 #1
0
ファイル: UnitTest01.cs プロジェクト: softwaiter/netcoreORM
        public void Test2()
        {
            Model m = OrmUtils.Model("User");

            Assert.IsNotNull(m);
            Assert.AreEqual <string>(m.Table, "t_user");
        }
コード例 #2
0
        public void Test2()
        {
            OrmUtils.EnableVersionControl();
            int ver = OrmUtils.GetVersion();

            Assert.AreEqual(ver, 0);
        }
コード例 #3
0
ファイル: UnitTest01.cs プロジェクト: softwaiter/netcoreORM
        public void Test3()
        {
            string sql = "Create Table orm_test(id integer primary key, name varchar(64), age int, address varchar(255))";
            int    ret = OrmUtils.ExecSql(sql);

            Assert.IsTrue(ret == 0);
        }
コード例 #4
0
ファイル: UnitTest01.cs プロジェクト: softwaiter/netcoreORM
        public void Test4()
        {
            string sql = "Drop Table  orm_test";
            int    ret = OrmUtils.ExecSql(sql);

            Assert.IsTrue(ret == 0);
        }
コード例 #5
0
        public void Test4()
        {
            List <dynamic> result = OrmUtils.Model("User").NotIn("Name", "User1", "User5", "User32").AscendingSort("Name").Query();

            Assert.AreEqual <int>(result.Count, 9997);
            Assert.AreEqual <string>(result[0].Name, "User10");
        }
コード例 #6
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Test19()
        {
            List <dynamic> result  = OrmUtils.Model("user").PageSize(1).PageIndex(1).Query();
            List <dynamic> result2 = OrmUtils.Model("user").Top(1).Query();

            Assert.AreEqual(result.Count, result2.Count);
        }
コード例 #7
0
ファイル: UnitTest15.cs プロジェクト: softwaiter/netcoreORM
        public void Test1()
        {
            bool ret = OrmUtils.Model("Animal").TryCreateTable(true);

            Assert.IsTrue(ret);

            dynamic newanimal = ModelObject.New("Animal");

            newanimal.Name          = "panda";
            newanimal.Feature       = new DynamicObjectExt();
            newanimal.Feature.Food  = "竹子";
            newanimal.Feature.Color = "黑白";
            newanimal.Feature.Life  = 30;
            bool ret2 = OrmUtils.Model("Animal").SetValues(newanimal).Save();

            Assert.IsTrue(ret2);

            dynamic result = OrmUtils.Model("Animal").Equals("Name", "panda").QueryFirst();

            Assert.IsNotNull(result);
            Assert.AreNotEqual("panda", result.Name);
            Assert.AreEqual("PANDA", result.Name);
            Assert.AreEqual("黑白", result.Feature.Color);
            Assert.AreEqual(30, result.Feature.Life);
            Assert.AreEqual(DateTime.Now.ToString("yyyy-MM-dd"), result.DiscDate);
        }
コード例 #8
0
ファイル: UnitTest06.cs プロジェクト: softwaiter/netcoreORM
        public void Test3()
        {
            OrmUtils.Model("Org").Equals("Name", "XX科技").SetValue("Name", "YY科技").Update();
            List <dynamic> result = OrmUtils.Model("Org").Equals("Name", "YY科技").Top(1).Query();

            Assert.IsTrue(result[0].CreateTime.ToString("G") == result[0].UpdateTime.ToString("G"));
        }
コード例 #9
0
ファイル: UnitTest07.cs プロジェクト: softwaiter/netcoreORM
        public void Test4()
        {
            dynamic neworg = OrmUtils.Model("Org").NewObject();

            neworg.Code = "Trans_Org";
            neworg.Name = "事务测试-机构01";

            dynamic newuser = OrmUtils.Model("User").NewObject();

            newuser.Name = "事务测试-用户01";

            int trans = OrmUtils.GetTransaction();

            try
            {
                OrmUtils.Model("Org").SetValues(neworg).Save(trans);
                OrmUtils.Model("User").SetValues(newuser).Save(trans);
                OrmUtils.CommitTransaction(trans);
            }
            catch
            {
                OrmUtils.RollbackTransaction(trans);
            }

            List <dynamic> result = OrmUtils.Model("Org").Equals("Name", "事务测试-机构01").Query();

            Assert.AreEqual <int>(result.Count, 1);

            List <dynamic> result2 = OrmUtils.Model("User").Equals("Name", "事务测试-用户01").Query();

            Assert.AreEqual <int>(result2.Count, 1);
        }
コード例 #10
0
        public void Test7()
        {
            dynamic result = OrmUtils.Model("User")
                             .GetValue(AggregateType.AVG, "Age")
                             .QueryFirst();

            Assert.IsTrue(15 == result.Age);
        }
コード例 #11
0
 public void In <T, TK>(T field, List <TK> values) where T : Enum
 {
     if (values == null || !values.Any())
     {
         return;
     }
     this.conditions.Add($"{field.ToString()} IN ({OrmUtils.Stringify(values, true)})");
 }
コード例 #12
0
        public void Test4()
        {
            dynamic result = OrmUtils.Model("User")
                             .Equals("Age", 18)
                             .GetValue(AggregateType.COUNT, "Id")
                             .QueryFirst();

            Assert.AreEqual(2, result.Id);
        }
コード例 #13
0
        public void Test3()
        {
            List <dynamic> result = OrmUtils.Model("User")
                                    .GetValue(AggregateType.COUNT, AggregateType.DISTINCT, "Age", "Count")
                                    .Query();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(3, result[0].Count);
        }
コード例 #14
0
ファイル: Template.Utility.CS.cs プロジェクト: psulek/doemd
    public string BuildXtensiveType(OrmType type, params string[] args)
    {
        if (ActiveDTOStage)
        {
            return(BuildPocoType(type, args));
        }

        return(OrmUtils.BuildXtensiveType(type, args));
    }
コード例 #15
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Test5()
        {
            List <dynamic> result = OrmUtils.Model("User").In("Name", "wangxm", "huxinyue").Query();

            Assert.AreEqual(result.Count, 2);
            List <dynamic> result2 = OrmUtils.Model("User").In("Name", "").Query();

            Assert.AreEqual(result2.Count, 0);
        }
コード例 #16
0
ファイル: UnitTest16.cs プロジェクト: softwaiter/netcoreORM
        public void Test4()
        {
            dynamic result = OrmUtils.Model("Shopping")
                             .Equals("Code", "iPhone 12")
                             .GetValue(FunctionType.DATE, "CreateTime", "CDate")
                             .QueryFirst();

            Assert.IsNotNull(result);
            Assert.AreEqual(DateTime.Now.ToString("yyyy-MM-dd"), result.CDate);
        }
コード例 #17
0
ファイル: UnitTest05.cs プロジェクト: softwaiter/netcoreORM
        public void Test5()
        {
            dynamic neworg = ModelObject.New("Org");

            neworg.Code = "YYTech";
            neworg.Name = "YY科技";
            bool ret = OrmUtils.Model("Org").SetValues(neworg).Save();

            Assert.IsTrue(ret);
        }
コード例 #18
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Test6()
        {
            List <dynamic> result = OrmUtils.Model("User").Equals("Name", "huxinyue").Top(1).Query();

            Assert.AreEqual(result.Count, 1);
            Assert.IsInstanceOfType(result[0].Name, typeof(string));
            Assert.IsInstanceOfType(result[0].Age, typeof(UInt16));
            Assert.IsInstanceOfType(result[0].Birthday, typeof(DateTime));
            Assert.IsInstanceOfType(result[0].Deposit, typeof(decimal));
            Assert.IsInstanceOfType(result[0].IsAdmin, typeof(bool));
        }
コード例 #19
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Test2()
        {
            dynamic newuser = ModelObject.New("User");

            newuser.Name    = "wangxm";
            newuser.Age     = 18;
            newuser.IsAdmin = true;
            bool ret = OrmUtils.Model("User").SetValues(newuser).Save();

            Assert.IsTrue(ret);
        }
コード例 #20
0
 public void Eq(string field, object value)
 {
     if (value == null)
     {
         this.conditions.Add(field + " IS NULL");
     }
     else
     {
         this.conditions.Add(field + "=" + OrmUtils.Stringify(value));
     }
 }
コード例 #21
0
ファイル: UnitTest16.cs プロジェクト: softwaiter/netcoreORM
        public void Test2()
        {
            dynamic newshopping = ModelObject.New("Shopping");

            newshopping.Code  = "iPhone 12";
            newshopping.Name  = "苹果12手机";
            newshopping.Order = "S202100812085255000";
            bool ret = OrmUtils.Model("Shopping").SetValues(newshopping).Save();

            Assert.IsTrue(ret);
        }
コード例 #22
0
ファイル: UnitTest05.cs プロジェクト: softwaiter/netcoreORM
        public void Test6()
        {
            List <dynamic> orgList = OrmUtils.Model("Org").Equals("Name", "YY科技").Query();
            dynamic        newuser = ModelObject.New("User");

            newuser.Name = "huxy";
            newuser.Org  = orgList[0].Code;
            bool ret = OrmUtils.Model("User").SetValues(newuser).Save();

            Assert.IsTrue(ret);
        }
コード例 #23
0
ファイル: UnitTest06.cs プロジェクト: softwaiter/netcoreORM
        public void Test6()
        {
            Thread.Sleep(3000);

            bool ret = OrmUtils.Model("User").Equals("Name", "wangxm").SetValue("Age", 20).Update();

            Assert.IsTrue(ret);

            List <dynamic> result = OrmUtils.Model("User").Equals("Name", "wangxm").Top(1).Query();

            Assert.IsTrue(result[0].UpdateTime > result[0].CreateTime);
        }
コード例 #24
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Init()
        {
            OrmUtils.RegisterProcessor("EncryptDeposit", "UnitTest.Processors.EncryptDeposit");
            OrmUtils.RegisterProcessor("DecryptDeposit", "UnitTest.Processors.DecryptDeposit");

            string modelPath = Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\models");

            OrmUtils.ModelPath = modelPath;
            OrmUtils.Load();

            OrmUtils.RemoveTables();
        }
コード例 #25
0
        public void Test5()
        {
            List <dynamic> result = OrmUtils.Model("User")
                                    .GroupBy("Age")
                                    .GetValue(AggregateType.COUNT, "Id", "Id_Count")
                                    .GetValue("Age")
                                    .DescendingSort("Id_Count")
                                    .Top(5)
                                    .Query();

            Assert.AreEqual <int>(result.Count, 5);
        }
コード例 #26
0
ファイル: UnitTest01.cs プロジェクト: softwaiter/netcoreORM
 private void RemoveOrmTestTable()
 {
     try
     {
         string sql = "Drop Table orm_test";
         OrmUtils.ExecSql(sql);
     }
     catch
     {
         ;
     }
 }
コード例 #27
0
ファイル: UnitTest04.cs プロジェクト: softwaiter/netcoreORM
        public void Test4()
        {
            dynamic newuser = ModelObject.New("User");

            newuser.Name     = "huxinyue";
            newuser.Age      = 11;
            newuser.Birthday = new DateTime(1987, 4, 26);
            newuser.Deposit  = 99999999;
            newuser.IsAdmin  = true;
            bool ret = OrmUtils.Model("User").SetValues(newuser).Save();

            Assert.IsTrue(ret);
        }
コード例 #28
0
        public void Test2()
        {
            dynamic newuser = ModelObject.New("User");

            newuser.Name     = "wangxm";
            newuser.Age      = 18;
            newuser.Birthday = new DateTime(1980, 6, 14);
            newuser.Deposit  = 10000000.58;
            newuser.IsAdmin  = null;
            bool ret = OrmUtils.Model("User").SetValues(newuser).Save();

            Assert.IsTrue(ret);
        }
コード例 #29
0
        public void Test6()
        {
            dynamic newuser = ModelObject.New("User");

            newuser.Name     = "jishuwen";
            newuser.Age      = 18;
            newuser.Birthday = new DateTime(1947, 1, 16);
            newuser.Deposit  = 10000000.58;
            newuser.IsAdmin  = true;
            bool ret = OrmUtils.Model("User").SetValues(newuser).Save();

            Assert.IsTrue(ret);
        }
コード例 #30
0
 public void Test3()
 {
     try
     {
         bool ret = OrmUtils.Model("User").SetValue("Name", "wangxm").Save();
         Assert.IsFalse(ret);
     }
     catch (Exception exp)
     {
         Assert.IsTrue(exp.Message.ToUpper().Contains("UNIQUE") ||
                       exp.Message.ToUpper().Contains("DUPLICATE") ||
                       exp.Message.ToUpper().Contains("ORA-03115"));
     }
 }