我有一个场景,我使用字符串equals方法与db中的数据进行比较,它分解为查询表达式,那么它的工作原理如何? Linq是否支持查询中的所有c#方法或仅支持字符串类方法。
var us = "uttams";
IQueryable<UserData> use = (from user in entity.Users
where user.UserName.equals(us)
select new UserData{ UserName = user.UserName }).AsQueryable<UserData>();
var name = use.FirstOrDefault().UserName;
答案 0 :(得分:0)
支持一组方法,不支持所有其他方法(您应该将其视为whitelist)。
CLR Method to Canonical Function Mapping
Boolean Equals(String a, String b)
方法在SQL查询中被转换为=
运算符。