无法使用LINQ分配嵌套模型的属性

gijlo24d  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(125)

我有一个模型,里面有另一个模型为:

public class DesignListViewModel
    {
        public IList<DesignViewModel> DesignList { get; set; } = new List<DesignViewModel>();
    }

因此,我想使用LINQ在控制器中的DesignViewModel内分配一个属性,如下所示:

var rModel = await _designService.Get(model); //rModel equals to DesignListViewModel

  //Trying to assign column duedate 
  rModel.DesignList.Select(design => design.DueDate).FirstOrDefault() = new DateTime();

但它抛出一个错误:
赋值的左侧必须是变量、属性或索引器
如何将该列作为变量访问以分配新值?

flseospp

flseospp1#

如果你需要分配某个类示例的属性/字段(假设DesignViewModel是一个类),你需要获取示例并指定你要设置的内容。例如:

rModel.DesignList.First().DueDate = new DateTime();

或通过变量:

var first = rModel.DesignList.First();
first.DueDate = new DateTime();

请注意,FirstOrDefault在这种情况下没有多大意义,因为对于空列表,它将导致null,以下代码将生成NullReferenceException

相关问题