2015-03-19 46 views
0

我想知道如何正確地綁定我的數據從我的MongoDB數據庫。我正在使用MVVM模式,但當我打算將數據庫中的數據組合到gridview時,我不確定viewModel有什麼問題。WPF ObjectCollection到列表

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Morza.Model; 
using System.Collections.ObjectModel; 
using System.Web; 
using System.IO; 
using MongoDB.Bson; 
using MongoDB.Driver; 
using MongoDB.Driver.Builders; 
using MongoDB.Driver.GridFS; 
using MongoDB.Driver.Linq; 
using System.Windows; 
using Morza.Helper; 
using Morza.View; 

namespace Morza.ModelView 
{ 
    internal class BillMetaDataViewModel 
    { 
     private ObservableCollection<BillMetaData> _MyDataList; 

     public BillMetaDataViewModel() 
     { 
      Database dbobj = new Database(); 
      MongoDatabase dtbase = dbobj.getDatabase; 
      var collection = dtbase.GetCollection<BillMetaData>("BillMetaData"); 

      bool isKey = true; 
      string attName = "Name"; 
      int attType = 1; 
      bool isRequired = true; 
      int attLoc = 1; 
      int attLength = 30; 
      int isDecimal = 1; 
      int attAlignment = 1; 

      BillMetaData _obj = new BillMetaData(isKey, attName, attType, isRequired, attLoc, attLength, isDecimal, attAlignment); 
      BillMetaData _obj1 = new BillMetaData(isKey, attName, attType, isRequired, attLoc, attLength, isDecimal, attAlignment); 
      BillMetaData _obj2 = new BillMetaData(isKey, attName, attType, isRequired, attLoc, attLength, isDecimal, attAlignment); 
      collection.Insert(_obj); 
      collection.Insert(_obj1); 
      collection.Insert(_obj2); 
      var query = Query<BillMetaData>.EQ(e => e.attName, "Name"); 
      var entity = collection.FindAll(); 
      _MyDataList = entity.ToList<BillMetaData>(); 
     } 

     public ObservableCollection<BillMetaData> FileObjectCollection 
     { 
      get { return _MyDataList; } 
     } 
    } 
} 

ToList聲明它不能將通用列表轉換爲集合。我應該用什麼來代替?

回答

1

試試這個:

_MyDataList = new ObservableCollection<BillMetaData>(entity.ToList());