Я пытаюсь запросить контекст базы данных с помощью Linq to Entities и получаю эту ошибку:
LINQ to Entities не распознает метод Int32 Int32 (System.String), и этот метод нельзя преобразовать в выражение хранилища.
Код:
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();
}
Я пробовал это, увидев 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();
}
Но выдает ошибку:
«Имя 'o' не существует в текущем контексте»
Это мой код для класса GetCourseName
namespace IronwoodWeb
{
public class CourseNames
{
public int CourseID { get; set; }
public string CourseName { get; set; }
}
}
int.Parse(o.CourseID)
; ошибка связана с тем, что EF не знала, как писатьConvert.ToInt32
в терминах SQL, но я думаю, что он должен пониматьint.Parse
.. (лучше всего было бы использовать соответствующий тип столбца и избежать необходимости иметь дело с это преобразование :) - person   schedule 15.12.2012o
выходит за рамки). Вернитесь к первому запросу, но заменитеConvert.ToInt32
наint.Parse
, хмм неважно, это наоборот. Кажется, разница между IEnumerable и IQueryable? - person   schedule 15.12.2012