用实体框架进行sql查询

时间:2012-06-12 17:10:30

标签: sql entity-framework linq-to-sql ado.net objectcontext

如果我使用实体框架进行连接,如何在sql语言中使用sql查询? 我从这个post了解到ObjectContext.ExecuteStoreQuery没有帮助,因为它只适用于某些查询(不是1:1到sql语言)。

提到的另一个选项是使用ObjectContext.Connection并编写" classic"那里的ADO.NET代码,但我无法弄清楚如何。

有人可以写一个非常简单的代码示例如何执行简单的查询,如

select MAX(customer_id) from Customers 

与实体框架?我知道Linq-To-Sql存在,但我更喜欢使用sql语言,对我来说看起来更简单,我对它更熟悉。

2 个答案:

答案 0 :(得分:9)

使用Database.SqlQuery方法执行SQL queries

var maxId= context.Database.
           SqlQuery<int>("select MAX(customer_id) from Customers")
                                                              .SingleOrDefault();

这应该在您的context类对象中假定为DataContext

答案 1 :(得分:2)

不是答案,但我必须......

  

我更喜欢使用sql语言

帮自己一个忙,“忘记”SQL! Linq真的不那么难。字符串文字中的SQL是维护地狱。 Linq是强类型的,因此编译器可以防止代码损坏。你有智能感知,更少礼仪代码,表达复杂查询要容易得多。等等等等。

你的陈述在Linq中是小菜一碟。

context.Customers.Max(c => c.customer_id)

嗯,只是一个建议:D

相关问题