LINQ to Entities不识别方法'Int32 Int32(System.String)'方法,并且这个方法不能被转换成存储表达式 [英] LINQ to Entities does not recognize the method 'Int32 Int32(System.String)' method, and this method cannot be translated into a store expression
本文介绍了LINQ to Entities不识别方法'Int32 Int32(System.String)'方法,并且这个方法不能被转换成存储表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
INQ to Entities不识别实体,方法'Int32 Int32(System.String)'方法,并且这个方法不能被翻译成一个存储表达式。
代码: / p>
public IEnumerable< CourseNames> GetCourseName()
{
var course = from o in entities.UniversityCourses
select new CourseNames
{
CourseID = Convert.ToInt32(o.CourseID),
CourseName = o.CourseName,
};
return course.ToList();
}
我看到这个
public IEnumerable< CourseNames> GetCourseName()
{
var temp = Convert.ToInt32(o.CourseID);
var course = from o in entities.UniversityCourses
select new CourseNames
{
CourseID = temp,
CourseName = o.CourseName,
};
return course.ToList();
}
但它会抛出一个错误:
当前上下文中o不存在
是我的类代码 GetCourseName
命名空间IronwoodWeb
{
public class CourseNames
{
public int CourseID {get;组; }
public string CourseName {get;组; }
}
}
解决方案
public IEnumerable< CourseNames> GetCourseName()
{
var courses = from o in entities.UniversityCourses
select new {o.CourseID,o.CourseName};
return courses.ToList()//现在我们有内存中的查询
.Select(c => new CourseNames()
{
CourseID = Convert .ToInt32(c.CourseID),// OK
CourseName = c.CourseName
});
}
I am trying to Query Database Context using Linq to Entities and I am getting this error:
INQ to Entities does not recognize the method 'Int32 Int32(System.String)' method, and this method cannot be translated into a store expression.`
Code:
public IEnumerable<CourseNames> GetCourseName()
{
var course = from o in entities.UniversityCourses
select new CourseNames
{
CourseID = Convert.ToInt32(o.CourseID),
CourseName = o.CourseName,
};
return course.ToList();
}
I tried like this after seeing this
public IEnumerable<CourseNames> GetCourseName()
{
var temp = Convert.ToInt32(o.CourseID);
var course = from o in entities.UniversityCourses
select new CourseNames
{
CourseID = temp,
CourseName = o.CourseName,
};
return course.ToList();
}
But it throws an error:
"The name 'o' does not exist in the current context"
This is my code for the class GetCourseName
namespace IronwoodWeb
{
public class CourseNames
{
public int CourseID { get; set; }
public string CourseName { get; set; }
}
}
解决方案
public IEnumerable<CourseNames> GetCourseName()
{
var courses = from o in entities.UniversityCourses
select new { o.CourseID, o.CourseName };
return courses.ToList() // now we have in-memory query
.Select(c => new CourseNames()
{
CourseID = Convert.ToInt32(c.CourseID), // OK
CourseName = c.CourseName
});
}
这篇关于LINQ to Entities不识别方法'Int32 Int32(System.String)'方法,并且这个方法不能被转换成存储表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文