将mongodb数据转换为gridview

时间:2018-06-20 07:33:38

标签: c# mongodb asp.net-web-api mongodb-query aggregation-framework

如何在gridview中显示表格?这些数据是从mongodb中检索的,这个特定的表在某些字段内包含多个表。

var collection = mongoDatabase.GetCollection<BsonDocument>("ABC");            
var query = collection.AsQueryable().Take(10).ToList();   
IEnumerable<BsonDocument> allUsers = 
BsonSerializer.Deserialize<IEnumerable<BsonDocument>>(query);-----//shows cant convert collection.generic.list to bsondocument. 

或者我也尝试过这个。.

var collection = mongoDatabase.GetCollection<BsonDocument>("ABC");          
var query = collection.AsQueryable().Take(10).ToList();  
DataTable dt = (DataTable)MongoDB.Bson.IO.JsonConvert.DeserializeObject(query, (typeof(DataTable))); ---//jsonconvert doesnot have deserializeobject 

1 个答案:

答案 0 :(得分:0)

尝试将IList反序列化为Json时出错,可以将列表序列化为JSON,反之亦然。您已经有了对象列表,因此不需要进行反序列化。 您可以尝试使用此列表来构建DataTable

  

“ var query = collection.AsQueryable()。Take(10).ToList();”

Datatable的构造看起来像这样;

DataTable dt = new DataTable();

dt.Columns.Add("Column1");
dt.Columns.Add("Column2");
dt.Columns.Add("Column3");
foreach (var item in query)
{
    var row = dt.NewRow();

    row["Column1"] = item.Column1;
    row["Column2"] = item.Column2;
    row["Column3"] = item.Column3;

    dt.Rows.Add(row);
}

return dt;