public User SelectByName(string name)
{
using (CleverTourEntities context = new CleverTourEntities())
{
var user = from u in context.User
where u.Name == name
select u;
return user;//在这会报错,改为return (User)user;就正常了
}
}
小弟没有系统学过LINQ。上面代码会有“无法将类型“System.Linq.IQueryable<Model.User>”隐式转换为“Model.User”。存在一个显式转换(是否缺少强制转换?)”
请问user是什么类型的对象,他不应该就是一个User类型的对象吗?为什么还要转换呢,哪位大哥给解释下,
改为return (User)user;进行强制类型转换是不是最优方法? 还有,这段代码出现在DAL层中应该没有错吧?我用实体数据模型和ADO.NET DbContext Generator生成POCO对象作为Model层。
{
using (CleverTourEntities context = new CleverTourEntities())
{
var user = from u in context.User
where u.Name == name
select u;
return user;//在这会报错,改为return (User)user;就正常了
}
}
小弟没有系统学过LINQ。上面代码会有“无法将类型“System.Linq.IQueryable<Model.User>”隐式转换为“Model.User”。存在一个显式转换(是否缺少强制转换?)”
请问user是什么类型的对象,他不应该就是一个User类型的对象吗?为什么还要转换呢,哪位大哥给解释下,
改为return (User)user;进行强制类型转换是不是最优方法? 还有,这段代码出现在DAL层中应该没有错吧?我用实体数据模型和ADO.NET DbContext Generator生成POCO对象作为Model层。
return user;改为
if (user.Count() > 0)
{
return user.FirstOrDefault();
}
{
using (CleverTourEntities context = new CleverTourEntities())
{
return context.User.FirstOrDefault(u=>u.Name == name);
}
}
{
//设置Json序列化格式
JsonSerializer js = new JsonSerializer();
//JSON中的Key名称采用驼峰命名法,且首字母小写
js.ContractResolver = new CamelCasePropertyNamesContractResolver(); string rtn = "";
rtn = JArray.FromObject(o, js).ToString();
return rtn; }
运行时就汇报“此 ObjectContext 实例已释放,不可再用于需要连接的操作。”的错误,我知道using语句后,context对象会被释放,但是我可以读取到返回的List<User>的值,为什么就不能序列化呢?是Json.NET库的原因吗?