ESQL не работает с правом самостоятельного отслеживания
Я следовал этому пошаговому руководству, чтобы создать проект самообследования сущностей wcf + ef +.
Пошаговое руководство. Сериализация самопроверкаемых объектов
В Сервисе Linq to Entities может работать хорошо, но если я добавлю метод, который использует ESQL, например:
public string Test()
{
string Name = "";
string sql = "select d.Name,d.Budget from SchoolEntities.Departments";
using (SchoolEntities db = new SchoolEntities())
{
var query = db.CreateQuery<Department>(sql);
if (query != null)
{
foreach (var v in query)
{
Name = v.Name;
}
}
}
return Name;
}
Исключение будет выдано при выполнении кода:
"d.Name" не может быть разрешено в текущей области или контексте. Убедитесь, что все ссылочные переменные находятся в области видимости, что необходимые схемы загружены и что на пространства имен ссылаются правильно.
Кто-нибудь может помочь?
1 ответ
Решение
Я думаю, проблема в неправильном запросе ESQL. Вы не заявили, что d
является:
string sql = "SELECT d.Name, d.Budget FROM SchoolEntities.Departments AS d";
Также убедитесь, что вы выбрали все поля, отображаемые в отделе.