У меня следующий DTO:
public class DTO_UserWithCreds
{
public string Name { get; set; }
public string Surname { get; set; }
public string Ava1 { get; set; }
public UserType Type { get; set; }
public string Uid { get; set; }
public DateTime? BanDateTime { get; set; }
};
И я получаю пользователей из базы данных следующим образом:
var users = from vkuser in _context.VkUsers
join contextUser in _context.Users on vkuser.Uid equals contextUser.Uid
join userClaim in _context.UserClaims on contextUser.Id equals userClaim.UserId
let userBanOffset = contextUser.LockoutEnd
let userBan = userBanOffset.HasValue ? userBanOffset.Value.Date : null
select new DTO_UserWithCreds
{
Name = vkuser.Name,
Surname = vkuser.Surname,
Ava1 = vkuser.Ava1,
Uid = vkuser.Uid,
Type = DTO_UserWithCreds.FromString(userClaim.ClaimValue),
BanDateTime = userBan
};
Я получаю следующее сообщение об ошибке (я не совсем понимаю, если честно) : ошибка des c
Если я изменю запрос на это:
var users = from vkuser in _context.VkUsers
join contextUser in _context.Users on vkuser.Uid equals contextUser.Uid
join userClaim in _context.UserClaims on contextUser.Id equals userClaim.UserId
let userBanOffset = contextUser.LockoutEnd
// let userBan = userBanOffset.HasValue ? userBanOffset.Value.Date : null
select new DTO_UserWithCreds
{
Name = vkuser.Name,
Surname = vkuser.Surname,
Ava1 = vkuser.Ava1,
Uid = vkuser.Uid,
Type = DTO_UserWithCreds.FromString(userClaim.ClaimValue),
BanDateTime = contextUser.LockoutEnd?.DateTime
};
, у меня будет ошибка компиляции, что лямбда внутри дерева выражений не может содержать нулевой оператор распространения. Можно ли получить эту информацию так, как я хочу? Или мне нужно написать второй запрос?