2017-04-10 72 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; 
     } 
    } 
}