区分大小写
有些数据库在创建的时候就设置了某种规则,有些区分大小写,有些不区分大小写。
不区分大小写的数据库,比如我要比较两个字段
name = “Alice” where name = “alice”
结果相等。
不光在ef里面这样,就是写sql脚本,在数据库里面执行都相等。前面也说了这是数据库在创建时很多默认设置的排序规则,当然可以手动设置区分大小写的规则,但是却分大小写,影响索引性能。
话说回来,在ef里面如果要 区分大小写
EF.Functions.Collate(数据里面的某值, “SQL_Latin1_General_CP1_CS_AS”)
var linq1 = from dbset in _catalogdb.Dbsets
where setid == EF.Functions.Collate(dbset.Setid, "SQL_Latin1_General_CP1_CS_AS")
select dbset;
var customers = context.Customers
.Where(c => EF.Functions.Collate(c.Name, "SQL_Latin1_General_CP1_CS_AS") == "John")
.ToList();
参考
分页
分页需要两个参数,当前页数,和每页显示的数据条数。
Skip:跳过多少数据
Take:取多少数据
例子:当前页面是第二页,每页显示20条数据,Skip((2-1)*20),跳过第一页的20条数据,Take(20)取20条数据,这取的20 条就是第二页的数据
查询出来的linq.Skip((index - 1) * pagesize).Take(pagesize).ToList()