Вы, вероятно, не можете выполнять приведение, поскольку, скорее всего, ваша сущность не имеет отношения наследования с 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 (и младший брат Entity Framework, и его двоюродный брат Linq2SQL).