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



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

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

我上面的查询工作得很好,但我想避免类型,我想写

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

有什么办法可以写吗?

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

,但确保JobsDto有两个属性JobIDJobName,并且它们的类型与表列的类型相同

p。DTO代表数据传输对象

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

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

如果您只想要一个普通的ADO。你可以使用DataContext.Connection属性:

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

相关内容

  • 没有找到相关文章