有没有快速的方法在数据集中创建表并使用IQueryable中的模式填充它(数据不是来自EF或Linq2Sql)?我需要这个来将网格绑定到我的数据。
谢谢, 罗伊
答案 0 :(得分:1)
您可以使用System.Data.Linq.DataContext类的Translate函数“自动”将表映射到类中。
有一个例子:
using System.Data.Linq;
using System.Data.SqlClient;
string cnnStr = "YourConnectionString";
DataContext dc = new DataContext(cnnStr);
SqlConnection sqlCnn = (SqlConnection) dc.Connection;
sqlCnn.Open();
SqlCommand sqlCmd = new SqlCommand("select ID, Name, [Date] From test", sqlCnn);
SqlDataReader sqlDr = sqlCmd.ExecuteReader();
var result = dc.Translate<clsRow>(sqlDr);
foreach(clsRow row in result)
{
Console.Write(row.ID);
Console.Write(row.Name);
Console.Write(row.Date);
}
在这种情况下,您需要一个名为Test with 3 columns的表:ID,Name和Test 还有一个名为clsRow的类,在.Net中具有相同的表列属性名称。
public class clsRow
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
}