0

我已经按照这个演练创建了一个 wcf+ef+self-tracking 实体项目。

演练:序列化自我跟踪实体

在服务中,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”。确保所有引用的变量都在范围内,加载了所需的模式,并且正确地引用了命名空间。

任何人都可以帮忙吗?

4

1 回答 1

0

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

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

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

于 2012-06-19T08:40:24.440 回答