我已经按照本演练创建了一个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'。确保所有引用的变量都在范围内,加载了所需的模式,并且正确引用了这些名称空间。
有人可以帮忙吗?
答案 0 :(得分:0)
我猜问题出在错误的ESQL查询中。您没有声明d
是什么:
string sql = "SELECT d.Name, d.Budget FROM SchoolEntities.Departments AS d";
还要确保选择部门中映射的所有字段。