Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Linq to sql 如何使用LINQ从类似SQLReader的表中逐行读取数据_Linq To Sql - Fatal编程技术网

Linq to sql 如何使用LINQ从类似SQLReader的表中逐行读取数据

Linq to sql 如何使用LINQ从类似SQLReader的表中逐行读取数据,linq-to-sql,Linq To Sql,谁能告诉我如何使用Linq替换此代码 使用Microsoft.Practices.EnterpriseLibrary.Data Public IDataReader GetRowByRowData() { Database Db = DatabaseFactory.CreateDatabase(); string sqlString = "SELECT * FROM TableTest"; DbCommand DbCmd = PpwDb.GetSqlStringCommand(sqlSt

谁能告诉我如何使用Linq替换此代码

使用Microsoft.Practices.EnterpriseLibrary.Data

Public IDataReader GetRowByRowData()
{
 Database Db = DatabaseFactory.CreateDatabase();
 string sqlString = "SELECT *  FROM TableTest";
 DbCommand DbCmd = PpwDb.GetSqlStringCommand(sqlString);
 Db .ExecuteReader(DbCmd);
}

请使用Linq帮助从TableTest表中获取逐行数据。您可以这样做:

   var myQyery=from a in dataContext.Mytable
           select a;

  foreach(var item in myQuery)
{
    //what you like
}

ToList
方法将查询数据库并获得结果集。

我将主键从表加载到列表中。根据数据集和主键的大小,加载到列表不会花费太长时间。加载键后,将FirstOrDefault()与where子句一起使用,如下所示:

var keys = Db.TableTest.Select(x => x.primaryKey).ToList();

foreach (var k in keys)
{
    var record = (from i in Db.TableTest
             where i.primaryKey == k
             select new
             {
              //Select only the columns you need to conserve memory
                 col1 = i.col1,
                 col2 = i.col2
             }).FirstOrDefault();

    //Process the record
}

感谢Nima和Sridhar。SqlReader逐行读取。当我们从中读取时,它一次只保存一行。但是匿名变量保存所有记录。请建议使用Linq to Sql替换SqlReader?@Nima:感谢Nima和Sridhar。SqlReader逐行读取。当我们从中读取时,它一次只保存一行。但是匿名变量保存所有记录。请建议使用Linq to Sql替换sqlReader?
var keys = Db.TableTest.Select(x => x.primaryKey).ToList();

foreach (var k in keys)
{
    var record = (from i in Db.TableTest
             where i.primaryKey == k
             select new
             {
              //Select only the columns you need to conserve memory
                 col1 = i.col1,
                 col2 = i.col2
             }).FirstOrDefault();

    //Process the record
}