我以为我在某处读到过您实际上可以使用 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);
}
}
}
其中“Sessions”是我用“DefiningQuery”定义的自定义实体类型。否则我会用普通的 linq 语法查询它。 Entity SQL 是只查询商店还是可以像 LINQ-to-Entities 那样查询我的概念模型?如果不确定我的语法是否正确,因为它可能不是 sql 语法。我的目标是在这里创建一种自定义通用列表,我可以在其中针对我的概念模型编写动态查询。
我收到以下错误:
无法在当前范围或上下文中解析“名称”。确保所有引用的变量都在范围内,加载了所需的模式,并且正确引用了 namespace 。接近简单标识符,第 1 行,第 43 列。
最佳答案
我认为,它不是有效的 Entity SQL 语法, 可能你必须像这样添加一些关键字:
SELECT VALUE s.Name FROM your_ObjectContext_name.Sessions AS s WHERE s.Name = 'sean'
关于c# - 使用 Entity SQL 查询概念模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610887/