我正在尝试将数据绑定到在我的DTO(数据传输对象)中定义的名为CurrentControlled
的变量,问题是我想根据从数据库返回的数据分配一个字符串。数据库。在这种情况下,如果RiskActions
中的数据中有日期值,而不是分配给{{的字符串),则我的数据库中有一个名为ActionCompleteDate
的表,该表的列称为ActionCompleteDate
。 1}}应该是“当前”,而如果CurrentControlled
中没有日期,则ActionCompleteDate
的值应该是受控的。
我尝试为CurrentControlled
分配条件,但是由于某种原因,编译器给我一个错误。
CurrentControlled
答案 0 :(得分:3)
您需要使用conditional operator。另外,这是一个猜测,因为我在这里不知道您的数据结构,但是您可能需要使用Any
而不是Where
,因为它会返回一个布尔值,您可以将其用作条件:
List<RiskDTO> results = actions
.Select(ra => new RiskDTO
{
CurrentControlled = ra.RiskActions.Any(m => m.ActionCompleteDate == null))
? TerminologyFactor.Parse("{Current}",TerminologyFactor.RMMonitor)
: TerminologyFactor.Parse("{Controlled}",TerminologyFactor.RMMonitor)
}