支持的函数写法:
//转换 支持objToXX ConvertToXX 和 ToString var r1 = db.Queryable<Student>().Where(it => it.name == par1.ObjToString()).ToList(); //ObjToString会将null转转成"" var r2 = db.Queryable<InsertTest>().Where(it => it.d1 == par1.ObjToDate()).ToList(); var r3 = db.Queryable<InsertTest>().Where(it => it.id == 1.ObjToInt()).ToList();//ObjToInt会将null转转成0 var r4 = db.Queryable<InsertTest>().Where(it => it.id == 2.ObjToDecimal()).ToList(); var r5 = db.Queryable<InsertTest>().Where(it => it.id == 3.ObjToMoney()).ToList(); var convert1 = db.Queryable<Student>().Where(c => c.name == "a".ToString()).ToList(); var convert2 = db.Queryable<Student>().Where(c => c.id == Convert.ToInt32("1")).ToList(); var convert3= db.Queryable<Student>().Where(c => DateTime.Now > Convert.ToDateTime("2015-1-1")).ToList(); //去空格 var r6 = db.Queryable<InsertTest>().Where(it => it.v1 == par2.Trim()).ToList(); //转大小写 var convert3 = db.Queryable<Student>().Where(c => c.name == par2.ToLower()).ToList(); var convert4 = db.Queryable<Student>().Where(c => c.name == par2.ToUpper()).ToList(); //模糊查询 var c1 = db.Queryable<Student>().Where(c => c.name.Contains("a")).ToList(); var c2 = db.Queryable<Student>().Where(c => c.name.StartsWith("a")).ToList(); var c3 = db.Queryable<Student>().Where(c => c.name.EndsWith("a")).ToList(); //判段是否为空或者null var c4 = db.Queryable<Student>().Where(c => !string.IsNullOrEmpty(c.name)).ToList(); //等于 var c5 = db.Queryable<Student>().Where(c => c.name.Equals("小杰")).ToList(); //长度判段 var c6 = db.Queryable<Student>().Where(c => c.name.Length > 4).ToList(); //时间 var time = db.Queryable<InsertTest>().Where(c => c.d1>DateTime.Now.AddDays(1)).ToList(); var time2 = db.Queryable<InsertTest>().Where(c => c.d1 > DateTime.Now.AddYears(1)).ToList(); var time3 = db.Queryable<InsertTest>().Where(c => c.d1 > DateTime.Now.AddMonths(1)).ToList();
不支持的一些函数请将变量提取到外面在传进表达式如下:
string par1 = "asdfsa".Replace("aa",""); var list= db.Queryable<Student>().Where(it => it.name == par1).ToList();
复杂的条件可以使用字符串来实现
var list = db.Queryable<InsertTest>().Where("id=@id and name=@name", new { id=1,name=xxx}).ToList();
2016 © CodeIsBug.comApache Licence 2.0