我有一个 LINQ 表达式:
var users = db.Relationships.Where(i => i.RelationshipId== relId)
.Select(s => s.User).Distinct().Select(s => new UserViewModel() {
Username = s.Username,
LastActiveDateTime = s.LastActive, // DateTime, I want it to be a string filtered through my custom GetFriendlyDate method
}).ToList();
// convert all DateTimes - yuck!
foreach (var userViewModel in users) {
userViewModel.LastActive = DateFriendly.GetFriendlyDate(userViewModel.LastActiveDateTime);
}
此解决方案有效,但感觉不对
- 从数据库中获取它们后必须遍历所有
users
内容,只是为了重新格式化每个属性 - 在我的 ViewModel 上有一个 DateTime 属性,以便以后可以将其转换为字符串并且再也不会被触及
有什么方法可以GetFriendlyDate
直接在查询中使用该方法吗?