如何在EF上运行SQL查询?我使用C#和WPF作为EF的前端。我需要提供一个UI,以便用户可以创建自己的查询并获得结果。用户界面将是一个表格列表和一个可供选择的列表(对用户界面不满意。需要改进但我脑子里有新标记)。所以我的问题是如何创建、组合(现有查询)和执行查询。有sql类EntityClientprovider,objectquery类。我使用了ObjectQuerystringquerystring=@"SELECTPrjDevFROMprjscenario";ObjectQueryprjdevquery=newObjectQuery(querystring,ptxobjcontext);字符串cpmmandtext=prjdevquery.CommandText;intprjdevnum=prjdevquery.Count();这是工作。但是当我运行一些复杂的查询时。它不起作用。示例代码:stringquerystring=@"SELECTPrjDevFROMprjscenarioWHEREPrjDev.PrjDevType=10";错误:“PrjDevType”不是“Transient.collection[Skm.Ptx.Data.Emf.PrjDev(Nullable=True,DefaultValue=)]”的成员。要提取集合元素的属性,请使用子查询遍历集合。Nearsimpleidentifier,第1行,第45列。知道为什么它适用于简单查询但不适用于复杂查询吗?提前谢谢你,N作为参数传递给ObjectQuery构造函数的查询不是SQL查询,而是ESQL(EntitySQL)查询。尽管语法相似,但它们是截然不同的语言。您可以在此页面上了解有关ESQL的更多信息。如果您想对ObjectContext的底层数据库执行真正的SQL,您可以使用ObjectContext.ExecuteStoreQuery方法,或者只是通过ObjectContext.Connection属性检索连接,然后从那里编写“经典”ADO.NET代码。以上就是C#学习教程:HowtorunSQLqueriesonEF?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
