C# 在C中使用LINQ和Lambda表达式在ViewModel对象类中赋值

C# 在C中使用LINQ和Lambda表达式在ViewModel对象类中赋值,c#,viewmodel,C#,Viewmodel,我想将列表中的值分配给ViewModel中的另一个类对象“\u People.People”,循环作为选项1\u uof.PeopleRepository.GetAll为我提供PeopleEntity对象数据 视图模型 植入类 第二项更新问题 我已经实现了在viewModel对象中获取数据,但我的问题仍然存在,即如何实现这一点,即使用不带循环的Lambda表达式 工作事务如下 _PeopleModel = (from pl in _uof.PeopleRepository.GetAll()

我想将列表中的值分配给ViewModel中的另一个类对象“\u People.People”,循环作为选项1\u uof.PeopleRepository.GetAll为我提供PeopleEntity对象数据

视图模型 植入类 第二项更新问题 我已经实现了在viewModel对象中获取数据,但我的问题仍然存在,即如何实现这一点,即使用不带循环的Lambda表达式

工作事务如下

_PeopleModel = (from pl in _uof.PeopleRepository.GetAll()
                 where pl.PERSON_CODE == PersonCode
                 select new PeopleViewModel { People = pl}).ToList();
输出GetPeopleByPersonCode 我试过跟随,但不起作用

var queryResult = new PeopleViewModel { People =  _uof.PeopleRepository.GetAll().Where(x => x.PERSON_CODE == PersonCode)  };

如果我理解正确,您希望将linq样式转换为lambda样式。如果是这样,您可以这样做:

_PeopleModel = _uof.PeopleRepository.GetAll()
.Where (x= > x.PERSON_CODE == PersonCode)
.Select(pl => new PeopleViewModel { People = pl})
.ToList();

我这么说是因为在你的打印屏幕上,你可以在People属性中找到结果。

我从LINQ和Lambda那里找到了答案

 public override IList<PeopleViewModel> GetPeopleByPersonCode(int PersonCode)
    {
        IList<PeopleViewModel> _PeopleModel = null;
        IList<PeopleViewModel> _PeopleModel_b = null;

        using (var _uof = new FES_UOF())
        {
            _PeopleModel_b =   _uof.PeopleRepository.GetAll().Where(x => x.PERSON_CODE == PersonCode).Select( pl => new PeopleViewModel { People = pl}).ToList();

          //or
            _PeopleModel_b = (from pl in _uof.PeopleRepository.GetAll()
                              where pl.PERSON_CODE == PersonCode
                              select new PeopleViewModel { People = pl}).ToList();
        }

        return _PeopleModel;
    }

当您调用GetPeopleByPersonCode方法时,会得到什么样的响应?请看我问题中第二次更新后的部分
var queryResult = new PeopleViewModel { People =  _uof.PeopleRepository.GetAll().Where(x => x.PERSON_CODE == PersonCode)  };
_PeopleModel = _uof.PeopleRepository.GetAll()
.Where (x= > x.PERSON_CODE == PersonCode)
.Select(pl => new PeopleViewModel { People = pl})
.ToList();
 public override IList<PeopleViewModel> GetPeopleByPersonCode(int PersonCode)
    {
        IList<PeopleViewModel> _PeopleModel = null;
        IList<PeopleViewModel> _PeopleModel_b = null;

        using (var _uof = new FES_UOF())
        {
            _PeopleModel_b =   _uof.PeopleRepository.GetAll().Where(x => x.PERSON_CODE == PersonCode).Select( pl => new PeopleViewModel { People = pl}).ToList();

          //or
            _PeopleModel_b = (from pl in _uof.PeopleRepository.GetAll()
                              where pl.PERSON_CODE == PersonCode
                              select new PeopleViewModel { People = pl}).ToList();
        }

        return _PeopleModel;
    }