有没有一种简单的方法将System.Data.DataTable转换为linq实体?

时间:2009-06-25 20:51:05

标签: linq-to-sql

是否有一种简单的方法来获取DataTable并将其转换为实体类型?

我有一个名为Samples的实体,但是通过分层,这是作为DataTable返回的一点 - 如果可能的话,我希望能够将其转换为实体类型吗?

由于

1 个答案:

答案 0 :(得分:1)

你可能无法强制转换,因为很可能你的实体与DataRow(或DataTable,无论如何)都没有继承关系。

假设

class Post {
  public int Id {get; private set;}
  public string Title {get; set;}
  public Post(int id) { Id=id;}
}

你想要像

这样的东西
foreach (var row in dataTable.Rows) {
  posts.Add(new Post(Convert.ToInt32(row[0])) { Title = row[1].ToString()} ) ;
}

不好玩,我同意。这就是NHibernate(以及弟弟实体框架和它的堂兄Linq2SQL)的用途。