Sql server 2008 r2 如何执行从LINQ到Entities 4.5的原始sql查询? 问题

Sql server 2008 r2 如何执行从LINQ到Entities 4.5的原始sql查询? 问题,sql-server-2008-r2,linq-to-entities,entity-framework-5,.net-4.5,Sql Server 2008 R2,Linq To Entities,Entity Framework 5,.net 4.5,我需要执行从LINQ到实体的原始SQL查询并检索结果。查询从SQL Server实例返回当前日期/时间,如下所示: SELECT GETDATE() [编辑] 我使用的是一个首先由数据库创建的数据模型。 [/编辑] 我试过的 我在interwebz上研究过这个问题,但找不到一种技术来解决这个问题。我能够学习如何使用LINQ to SQL来实现这一点,但因为我没有使用它,所以它没有任何帮助。以下是您的目标 var time = context.Database.SqlQuery<DateT

我需要执行从LINQ到实体的原始SQL查询并检索结果。查询从SQL Server实例返回当前日期/时间,如下所示:

SELECT GETDATE()
[编辑] 我使用的是一个首先由数据库创建的数据模型。 [/编辑]

我试过的
我在interwebz上研究过这个问题,但找不到一种技术来解决这个问题。我能够学习如何使用LINQ to SQL来实现这一点,但因为我没有使用它,所以它没有任何帮助。

以下是您的目标

var time = context.Database.SqlQuery<DateTime>("SELECT GETDATE()").FirstOrDefault();
var time=context.Database.SqlQuery(“选择GETDATE()”).FirstOrDefault();

您可以在此处阅读有关原始sql和EF的更多信息

以下是您的目标

var time = context.Database.SqlQuery<DateTime>("SELECT GETDATE()").FirstOrDefault();
var time=context.Database.SqlQuery(“选择GETDATE()”).FirstOrDefault();

您可以在这里阅读更多关于原始sql和EF的信息

我相信您发布的示例是LINQ to sql,对吗?我想使用LINQtoEntities做类似的事情。这是LINQtoEntities,请参阅文章EntityFramework允许您使用LINQ查询实体类。但是,有时您可能希望使用原始SQL直接对数据库运行查询。这包括调用存储过程,这对于当前不支持映射到存储过程的代码优先模型很有帮助。本主题中显示的技术同样适用于使用Code First和EF Designer创建的模型。我自己也使用它,它是IDbSet(linq to entities)的顶部,我不知道如何获取您命名为context的对象。在我的代码中,我有一个edmx模型,并生成我一直在调用的上下文,如下所示:
private AppEntities\u db=new AppEntities(),其中AppEntities是数据模型的名称。从那里,我通过使用LINQ访问实体来访问数据,比如
var question=(从_db.question中的q选择q)。如何获取您所调用的
context
?@STLDeveloper
\u db.Database.Sql….
假设
AppEntities
DbContext
(如果您使用的是最新版本的EF,则应该是这样)。如果您使用的是旧版本的EF,并且ObjectContext不是DbContext,那么您可以使用
\u db.ExecuteStoreQuery(“SELECT GETDATE()”)…
您还应该将EF的版本添加到标记中,并让我们知道您使用的是codefirst还是notLuke,谢谢您的建议。我已经更新了我的问题。很抱歉,你第一次不明白你想告诉我什么!我接受了你的回答-谢谢你的帮助!我相信您发布的示例是LINQ to SQL,对吗?我想使用LINQtoEntities做类似的事情。这是LINQtoEntities,请参阅文章EntityFramework允许您使用LINQ查询实体类。但是,有时您可能希望使用原始SQL直接对数据库运行查询。这包括调用存储过程,这对于当前不支持映射到存储过程的代码优先模型很有帮助。本主题中显示的技术同样适用于使用Code First和EF Designer创建的模型。我自己也使用它,它是IDbSet(linq to entities)的顶部,我不知道如何获取您命名为context的对象。在我的代码中,我有一个edmx模型,并生成我一直在调用的上下文,如下所示:
private AppEntities\u db=new AppEntities(),其中AppEntities是数据模型的名称。从那里,我通过使用LINQ访问实体来访问数据,比如
var question=(从_db.question中的q选择q)。如何获取您所调用的
context
?@STLDeveloper
\u db.Database.Sql….
假设
AppEntities
DbContext
(如果您使用的是最新版本的EF,则应该是这样)。如果您使用的是旧版本的EF,并且ObjectContext不是DbContext,那么您可以使用
\u db.ExecuteStoreQuery(“SELECT GETDATE()”)…
您还应该将EF的版本添加到标记中,并让我们知道您使用的是codefirst还是notLuke,谢谢您的建议。我已经更新了我的问题。很抱歉,你第一次不明白你想告诉我什么!我接受了你的回答-谢谢你的帮助!