为什么这个SQL查询不能与.net实体框架一起使用?

时间:2012-01-30 20:57:15

标签: .net sql entity-framework

我正在实体框架中编写此代码。我理解通常情况下,你不使用实体框架直接查询SQL,但对于我的生活,我无法理解为什么这段代码不起作用

ucvDotNet.Models.CdaSql entities = new Models.CdaSql();
object X = entities.CreateQuery<Lids>("select * from lids").First();

我收到一条错误消息,指出*语法无效。我做错了什么?

2 个答案:

答案 0 :(得分:3)

实体框架不使用常规SQL,它使用Entity SQL,但没有SELECT * FROM语法。

答案 1 :(得分:0)

您可以使用ExecuteStoreQuery()代替常规SQL:

var item = entities.ExecuteStoreQuery<Lids>("select * from lids")
                   .First();

由于ExecuteStoreQuery()的所有内容都已实现为一堆Lids个对象,因此上述内容应重写为:

var item = entities.ExecuteStoreQuery<Lids>("select top 1 * from lids")
                   .First();