以为我在某处读过你实际上可以用Entity Sql查询你的概念模型,使用基于字符串的查询:
class DBSetTest<T> : List<T>
{
DBEntities db = new DBEntities();
public DBSetTest()
{
ObjectQuery<T> test = new ObjectQuery<T>("SELECT Name FROM Sessions WHERE Name = 'sean'", db);
foreach (var v in test)
{
this.Add(v);
}
}
}
其中“会话”是我使用“定义查询”定义的自定义实体类型。我会用普通的linq语法查询它。 Entity SQL是仅查询商店还是可以像LINQ-to-Entities那样查询我的概念模型?如果是这样,不确定我是否有正确的语法,因为它可能不是sql语法。我的目标是在这里创建一种自定义通用列表,在那里我可以针对我的概念模型编写动态查询。
我收到以下错误:
无法在当前范围或上下文中解析'名称'。确保所有引用的变量都在范围内,加载了所需的模式,并正确引用了名称空间。近简单标识符,第1行,第43列。
答案 0 :(得分:1)
我认为,它不是有效的实体SQL语法, 可能你必须添加一些这样的关键字:
SELECT VALUE s.Name FROM your_ObjectContext_name.Sessions AS s WHERE s.Name = 'sean'
答案 1 :(得分:0)
你得到的错误说你必须把它。在Name之前,像这样:
"SELECT it.Name FROM Sessions WHERE it.Name = 'sean'"