Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于实体框架的sql查询_Sql_Entity Framework_Linq To Sql_Ado.net_Objectcontext - Fatal编程技术网

基于实体框架的sql查询

基于实体框架的sql查询,sql,entity-framework,linq-to-sql,ado.net,objectcontext,Sql,Entity Framework,Linq To Sql,Ado.net,Objectcontext,如果我使用实体框架建立连接,如何使用sql语言中的sql查询? 我从中了解到ObjectContext.ExecuteStoreQuery不会有帮助,因为它只适用于某些查询(而不是sql语言的1:1) 这里提到的另一个选项是使用ObjectContext.Connection并从中编写“经典”ADO.NET代码,但我就是不知道怎么做 有人可以写一个非常简单的代码示例吗?我如何执行这样的简单查询 select MAX(customer_id) from Customers 使用实体框架?我知道

如果我使用实体框架建立连接,如何使用sql语言中的sql查询? 我从中了解到ObjectContext.ExecuteStoreQuery不会有帮助,因为它只适用于某些查询(而不是sql语言的1:1)

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

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

select MAX(customer_id) from Customers 

使用实体框架?我知道Linq To Sql是存在的,但我更喜欢使用Sql语言,它对我来说更简单,我也更熟悉。

使用
数据库。SqlQuery
方法执行
Sql查询

var maxId= context.Database.
           SqlQuery<int>("select MAX(customer_id) from Customers")
                                                              .SingleOrDefault();
var maxId=context.Database。
SqlQuery(“从客户中选择MAX(客户id))
.SingleOrDefault();

假设
DataContext
类对象中的
context
,这应该可以工作。

不是答案,但我必须

我更喜欢使用sql语言

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

你的陈述在林肯是小菜一碟

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

好的,只是一个建议:D

为什么我会得到一个错误“mydbEntities”不包含“Database”的定义?我正在使用.net 4,我添加了using System.Data.Linq.dll。它位于System.Data.Entity命名空间中。是的,在我写之前:DataContext context2=newDataContext(MainForm.eggsContext.Connection);var maxId=context2.Database.SqlQuery(“从客户中选择MAX(客户id)).SingleOrDefault();那么mydbEntities是从哪里来的呢?实际上我也希望得到这样的答案,因为我觉得不使用Linq有点原始,我想看看其他人的意见:)但我确实有一个有截止日期的项目,用熟悉的东西来做要比猜测它应该如何用Linq写容易得多..啊,这就是生活。但在那之后:全力推进Linq,对吗?如果这里没有人能很快解决我的问题,我现在可能会被迫全力推进Linq……)但我仍然担心连接表或使用LinqI执行复杂的查询,毕竟我认为您可以使用ExecuteStoreQuery。状态:“使用现有连接直接对数据源执行任意命令。”(强调我的)。但是您必须注意查询中的列与TElement指定的类型的属性相匹配。呵呵,不,我们不能。ORM生成的SQL无法与手工编制和优化的SQL语句竞争。当然,当性能至关重要时,我们不想依赖这些ORM查询。