ESQL在自跟踪实体中不起作用

时间:2012-06-19 08:33:23

标签: entity-framework self-tracking-entities entity-sql

我已经按照本演练创建了一个wcf + ef +自我跟踪实体项目。

Walkthrough: Serialize Self-Tracking Entities

在服务中,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 个答案:

答案 0 :(得分:0)

我猜问题出在错误的ESQL查询中。您没有声明d是什么:

string sql = "SELECT d.Name, d.Budget FROM SchoolEntities.Departments AS d";

还要确保选择部门中映射的所有字段。