0

如果我使用实体框架进行连接,如何使用 sql 语言查询?我从这篇文章中了解到 ObjectContext.ExecuteStoreQuery 无济于事,因为它仅适用于某些查询(不是 1:1 到 sql 语言)。

提到的另一个选项是使用 ObjectContext.Connection 并从那里编写“经典”ADO.NET 代码,但我就是不知道怎么做。

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

select MAX(customer_id) from Customers 

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

4

2 回答 2

9

使用Database.SqlQuery方法执行SQL queries

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

context这应该在您的DataContext类对象中起作用。

于 2012-06-12T17:14:32.577 回答
2

没有答案,但我必须...

我更喜欢使用sql语言

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

您的声明在 Linq 中是小菜一碟。

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

好吧,只是一个建议:D

于 2012-06-12T19:53:45.013 回答