LINQtoEntities不识别方法'System.Stringget_Item(System.String)',怎么办我解决这个问题?这是我的代码:DateTimedtInicio=newDateTime();日期时间dtFim=newDateTime();Int32代码状态=0;if(!string.IsNullOrEmpty(collection["txtDtInicial"]))dtInicio=Convert.ToDateTime(collection["txtDtInicial"]);if(!string.IsNullOrEmpty(collection["txtDtFinal"]))dtFim=Convert.ToDateTime(collection["txtDtFinal"]);如果(!string.IsNullOrEmpty(collection["StatusCliente"]))Convert.ToInt32(collection["StatusCliente"]);varlistCLientResult=(fromcindb.tbClientesorderbyc.idwhere(c.effdt>=dtInicio||string.IsNullOrEmpty(collection["txtDtInicial"])&&(c.effdt<=dtFim||string.IsNullOrEmpty(collection)["txtDtFinal"]))&&(c.cod_status_viagem==codStatus||string.IsNullOrEmpty(collection["StatusCliente"])))选择c);返回视图(listCLientResult);我得到的错误是:LINQtoEntities无法识别方法“System.Stringget_Item(System.String)”,该方法无法转换为存储库的表达式针对数据库执行的Linq查询在执行到SQL之前被转换;但是collection["txtDtInicial"]无法转换为SQL,因为没有等效的SQL语法,而且数据库无论如何也无权访问该集合。您需要先将collection["txtDtInicial"]提取到一个变量中,然后在您的查询中仅使用该变量。这是我所做的:DateTimedtInicio=DateTime.MinValue;日期时间dtFim=DateTime.MaxValue;Int32代码状态=0;if(!string.IsNullOrEmpty(collection["txtDtInicial"]))dtInicio=Convert.ToDateTime(collection["txtDtInicial"]);if(!string.IsNullOrEmpty(collection["txtDtFinal"]))dtFim=Convert.ToDateTime(collection["txtDtFinal"]);如果(!string.IsNullOrEmpty(collection["StatusCliente"]))codStatus=Convert.ToInt32(collection["StatusCliente"]);varlistCLientResult=(fromcindb.tbClientesorderbyc.idwhere(c.effdt>=dtInicio)&&(c.effdt通过初始化dtInicio和dtFim为MinValue和MaxValue,你不需要检查它们是否定义在query.Linq查询最终转换为SQL查询,LINQ不知道如何处理Session["UserName"](获取“UserName”项)。解决这个问题的一种常见方法是使用一个局部变量,您将分配Session["UserName"]给它,并且您将在Linq查询中使用它...例如stringloggedUserName=Session["LogedUsername"]。字符串();varuserdetail=dc.faculties.Where(a=>a.F_UserName.Equals(loggedUserName))。FirstOrDefault();参考http://mvc4asp.blogspot.in/一行...不要在Linq(实体)查询中使用字符串转换函数!错误:user=db.Users.Where(u=>u.Name==dt.Rows[i]["Name"].ToString()).FirstOrDefault();更正:以上是C#学习教程:LINQtoEntitiesUnabletorecognizethemethod'System.Stringget_Item(System.String)',所有内容分享,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注---stringName=dt.Rows[i]["Name"].ToString();user=db.Users.Where(u=>u.Name==Name).FirstOrDefault();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
