簡體   English   中英

WPF MVVM中的ADO.NET實體框架?

[英]ADO.NET Entity Framework in WPF MVVM?

我是WPF和MVVM的初學者。

我有一個數據網格的看法。 我已經將datacontext設置為我的視圖模型,並將綁定設置為我的IBindingList。 我的模型包含一個ADO.NET edmx。

我正在使用Linq從ViewModel查詢我的EF表。 看來查詢必須在一種方法中,以避免出現錯誤'字段初始化器無法引用非靜態字段,方法或屬性'Entity_MVVM.ViewModels。 等等。'

這是將我的EF表查詢到IBindingList中的代碼。 然后,如何調用我的GetData方法以在視圖中公開查詢結果?

namespace Entity_MVVM.ViewModels

 public class ContractViewModel : INotifyPropertyChanged
  {

   public void GetData()
   {
       LDBEntities db = new LDBEntities();

       IBindingList contracts = ((from c in db.tbContracts
                                  select new { c.Contract_ID, c.Contract_name, c.Country }
     ) as IListSource).GetList() as IBindingList;

   }

   public event PropertyChangedEventHandler PropertyChanged;
 }
}

謝謝大家

實例Vairable不能用於初始化另一個變量,因為編譯器的執行順序可能不同。

嘗試移動LDBEntities db = new LDBEntities()以查看模型構造函數。

就像Sasha在問的那樣:這取決於您希望何時顯示數據。 如果在顯示視圖時需要它,只需將其放在構造函數中:

public ContractViewModel 
{
   GetData();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM