ModelState使用Key + ErrorMessage创建List字符串。 (LINQ)

时间:2013-08-22 15:50:15

标签: c# linq asp.net-mvc-4 ienumerable modelstate

我想获得这样的东西:

' myKey:errorMessage'

现在我有一个包含所有ModelState错误的列表:

List<String> modelStateErrors2 = ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).Select(x => x.ErrorMessage).ToList();

但是需要在字符串的开头添加键。

有可能吗?

1 个答案:

答案 0 :(得分:11)

您需要移动Select()内的SelectMany(),以便它可以关闭key

ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(x => key + ": " + x.ErrorMessage));

这作为查询理解会更简单:

from kvp in ModelState
from e in kvp.Value.Errors
select kvp.Key + ": " + e.ErrorMessage