2017-04-10 74 views
0

我有一個爲View Model定義的類,其中包含一個列表,我想在創建模型時填充該列表。在ViewModel類級別獲取數據

例如這個工作,但我覺得我錯誤地做它:

public class Item 
{ 
    public string ItemNum {get; set;} 

    public List<Manufacturers> Manufacturers 
    { 
      get 
      { 
       ApplicationContext() _context = new ApplicationContext(); 
       return _context.Manufacturers.Where(i => i.Item == this.ItemNum).ToList(); 
      } 
    } 
} 

基本上Item類被創建時,我想出去和填充關聯列表中顯示和使用信息的工作。

有沒有更好的方法來做到這一點?

+1

你真的需要每次都重新查詢數據庫,這種要求?它會經常改變,需要更新嗎?還是應該在創建此對象的實例時只查詢一次數據庫*並將結果存儲在對象本身中? – David

+0

@大衛什麼樣子的例子?一次就足夠了,但我無法想象當我調用生成對象時,如果不通過foreach語句循環,我會怎麼做。 – dev53

回答

0

可能是一個constructor默認parameter將適合該法案

public class Item 
{ 
    //other properties 
    public string ItemNum {get; set;} 
    private List<Manufacturers> _Manufacturers 
    private ApplicationContext() _context; 
    public Item (string ItemNum = "some default text"){ 
     _context = new ApplicationContext(); 
     _Manufacturers = _context.Manufacturers.Where(i => i.Item == 
     this.ItemNum).ToList(); 
    } 
    public List<Manufacturers> Manufacturers 
    { 
     get 
     { 
     return _Manufacturers; 
     } 
    } 
}