如何在linq中直接执行SQL查询

发布于 2024-10-31 20:32:49 字数 316 浏览 1 评论 0原文

在 C# 和 VS 2008 中,我有一个查询,在这个查询中我连接了多个表,所以我不知道类型,我想知道如何在 linq 中直接运行 sql 查询。

IEnumerable<Type> results = db.ExecuteQuery<TYpe>("sql query")

我上面的查询工作正常,但我想避免类型,我想写

var results = db.ExecuteQuery("sql query");

有什么方法可以写它吗?

提前致谢。

In C# with VS 2008,I have a query ,In this query i join more than one tables,so i don't know the type , I want to know how to directly run a sql query in linq .

IEnumerable<Type> results = db.ExecuteQuery<TYpe>("sql query")

My above query works fine but I want to avoid type, I want to write

var results = db.ExecuteQuery("sql query");

Is there any way to write it?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧瑾黎汐 2024-11-07 20:32:49
    var result = dataContext.ExecuteQuery<JobsDto>
                 ("Select JobID,JobName From jobs");

但请确保 JobsDto 具有两个属性 JobIDJobName 并且类型与表列

PS 相同。 DTO 代表数据传输对象

    var result = dataContext.ExecuteQuery<JobsDto>
                 ("Select JobID,JobName From jobs");

but make sure JobsDto has two properties JobID and JobName and there types the same type as the table columns

PS. DTO stand for Data Transfer Object

我的黑色迷你裙 2024-11-07 20:32:49

您需要指定要从查询结果映射到的类型。您可以使用 System.Type 对象,而不是将其静态指定为泛型类型参数:

var results = db.ExecuteQuery(typeof(Customer), "sql query ");

如果您只想要一个普通的 ADO.NET DataReader,则可以使用 DataContext.Connection财产:

using (var cmd = db.Connection.CreateCommand()) 
{ 
  cmd.CommandText = "sql query ";
  var results = cmd.ExecuteReader();
}

You need to specify the type to map to from the query results. You can use a System.Type object instead of statically specifying it as a generic type parameter:

var results = db.ExecuteQuery(typeof(Customer), "sql query ");

If you just want a plain ADO.NET DataReader you could use the DataContext.Connection property:

using (var cmd = db.Connection.CreateCommand()) 
{ 
  cmd.CommandText = "sql query ";
  var results = cmd.ExecuteReader();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文