When I tried to Add rows to the dynamically generated DataTable though loop I got the following error. The DataTable contains two columns with DataType property as string.
models db = new models();
string connstring = db.Database.Connection.ConnectionString;
List<object> chartData = new List<object>();
DataTable MyDataTable = new DataTable();
DataColumn dc = MyDataTable.Columns.Add("ShipCity", typeof(string));
MyDataTable.Columns.Add("OrderDate", typeof(string));
dc.AutoIncrement = true;
var query = (from order in db.Orders
select new
{
order.ShipCity,
order.OrderDate.Value.Year
}).Distinct().ToList();
foreach (var element in query)
{
var row = MyDataTable.NewRow();
row["ShipCity"] = element.ShipCity;
row["OrderDate"] = element.Year;
MyDataTable.Rows.Add(row);
}
Problem:
Solution:
Lately I noticed the problem because of incrementing the data column. I removed the following code "dc.AutoIncrement = true" from the line the problem was resolved.