LINQtoEntities不识别方法'Int32Int32(System.String)'方法,并且此方法无法转换为存储表达式'方法,并且此方法不能转换为存储表达式。代码:publicIEnumerableGetCourseName(){varcourse=fromoinentities.UniversityCoursesselectnewCourseNames{CourseID=Convert.ToInt32(o.CourseID),CourseName=o.CourseName,};返回course.ToList();}看到这之后我尝试了publicIEnumerableGetCourseName(){vartemp=Convert.ToInt32(o.CourseID);varcourse=fromoinentities.UniversityCoursesselectnewCourseNames{CourseID=temp,CourseName=o.CourseName,};返回course.ToList();但它会抛出一个错误:“名称‘o’在当前上下文中不存在”这是我的GetCourseName类GetCourseName命名空间IronwoodWeb{放;}publicstringCourseName{get;放;}}}publicIEnumerableGetCourseName(){varcourses=fromoinentities.UniversityCoursesselectnew{o.CourseID,o.CourseName};returncourses.ToList()//现在我们有内存查询.Select(c=>newCourseNames(){CourseID=Convert.ToInt32(c.CourseID),//OKCourseName=c.CourseName});}如果您不想执行查询(检索数据),您可以使用强制转换(即(int)o.CourseId)到SQLCASTAS语句中。您还可以将该值作为字符串返回(因为它显然已存储),然后进行转换。'o'脱离上下文的错误在于您只是在Linq查询中声明o,它只能在该范围内被引用。显式转换简单有效:(int)o.CourseID以上是C#学习教程:LINQtoEntitiesdoesnotrecognizethemethod'Int32Int32(System.String)'method,andthismethodcannotbeconvertedtostorethe表达分享的全部内容,如果对你有用,需要了解更多C#学习教程,希望你多多关注——varcourse=fromoinentities.UniversityCoursesselectnewCourseNames{CourseID=(int)o.CourseID,CourseName=o.CourseName,};本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
