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";

Также убедитесь, что вы выбрали все поля, отображаемые в отделе.

Другие вопросы по тегам