Exemplo n.º 1
0
        public void TestWhere3()
        {
            var repository = new RepositoryMsSql <DictInfo2>(Conn);
            int?id         = 106071;
            var rst        = repository.Where(x => x.DictID == id);

            Assert.Single(rst);
        }
Exemplo n.º 2
0
        public void TestWhereAndFind()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            var rst        = repository.Where(x => x.DictID > 106087);
            var model      = repository.Find(106088);//Find 是根据主键获取记录,所以主键上要有 Key标记。

            Assert.Equal(model.Remark, rst.Find(x => x.DictID == 106088)?.Remark);
        }
Exemplo n.º 3
0
        public void TestTimeStamp()
        {
            RepositoryMsSql <TestStamp> repoStamp = new RepositoryMsSql <TestStamp>(Conn);
            var  rst = repoStamp.Where(x => true);
            bool b   = rst.Any(x => x.ROWVERSION < 1);

            Assert.False(b);
        }
Exemplo n.º 4
0
        public void TestExpression()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            Expression <Func <DictInfo, bool> > expression = x => x.DictID > 106071;

            expression = expression.And(x => x.DictName.Contains("老总"));
            var  rst = repository.Where(expression);
            bool b   = rst.Count > 0;

            Assert.True(b);
        }
Exemplo n.º 5
0
        public void TestWhere()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            var ida        = new List <int>()
            {
                106071, 106072
            };
            var rst = repository.Where(x => ida.Contains(x.DictID));

            Assert.Equal(2, rst.Count);
        }
Exemplo n.º 6
0
        public void TestWhere7()
        {
            var       repository = new RepositoryMsSql <DictInfo2>(Conn);
            OrderEnum orderEnum  = OrderEnum.optionA;
            var       rst        = repository.Where(x => x.OrderNum == orderEnum);

            Assert.NotEmpty(rst);
            foreach (var item in rst)
            {
                Assert.Equal(OrderEnum.optionA, item.OrderNum);
            }
        }
Exemplo n.º 7
0
        public void TestWhereWithSomeFields()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            var rst        = repository.Where(x => x.CreateTime > new DateTime(2018, 12, 1), x => x.DictID, x => x.DictName);//只查询 DictID DictName 两个字段

            Assert.False(0 == rst.Count);
            Assert.Equal(0, rst.Count(x => !string.IsNullOrEmpty(x.Remark)));
            var first = rst.First();
            var model = repository.Find(first.DictID);

            Assert.Equal(first.DictName, model.DictName);
        }
Exemplo n.º 8
0
        public void TestWhereSelect()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            var rst        = repository.WhereSelect(x => x.DictID >= 106071, x => x.DictName);//投影查询(只查询某些字段)可投影为匿名类型
            var rstfull    = repository.Where(x => x.DictID >= 106071);

            Assert.False(0 == rstfull.Count);
            Assert.Equal(rst.Count, rstfull.Count);
            bool r = rst.Contains(rstfull.First().DictName);

            Assert.True(r);

            var ll2 = repository.WhereSelect(x => x.DictName.Contains("哈哈") && x.Deleted, x => new { x.DictName, x.DictID }).ToDictionary(x => x.DictID, x => x.DictName);
        }
Exemplo n.º 9
0
        public void TestWhereAndAll()
        {
            var repository = new RepositoryMsSql <DictInfo>(Conn);
            var rst        = repository.Where(x => x.DictID > 106091 && !x.Deleted);
            var model      = rst.FirstOrDefault();

            Assert.False(null == model);
            var all    = repository.All();
            var model2 = all.Find(x => x.DictID == model.DictID);

            Assert.False(null == model2);
            Assert.Equal(model.Deleted, model2.Deleted);
            Assert.Equal(model.CreateTime, model2.CreateTime);
            Assert.Equal(model.Remark, model2.Remark);
            Assert.Equal(model.DictName, model2.DictName);
        }