Почему объекты JSON пусты? - PullRequest
0 голосов
/ 24 июня 2018

У меня есть точка входа GET на UsersController. Но этот отвечает массивом пустых объектов. Когда я отлаживаю точку входа, список (IEnumerable<UserViewModel>) не является пустым, и UserViewModels также не являются пустыми.

Но вот что он отвечает:

[{},{},{},{},{},{},{},{},{},{},{},{}]

И код контроллера:

[HttpGet]
public async Task<IEnumerable<UserViewModel>> Get()
{
    var u = _stObjMap.Default.Obtain<UserTable>();
    using (var ctx = new SqlStandardCallContext())
    {
        var a =  await ctx[u].Connection.QueryAsync<UserViewModel>("SELECT UserId, UserName, PrimaryEMail, CreationDate from CK.vUser where UserId <> 0 and UserId <> 1");
        return a;
    }
}

Я действительно не думаю, что проблема исходит от контроллера. Я использую Dapper. Я действительно не знаю, что происходит. И мне приходится много писать, потому что я не могу редактировать этот пост

1 Ответ

0 голосов
/ 24 июня 2018

Скорее всего, UserViewModel не имеет открытых свойств.

Именно поэтому пары ключей и значений не отображаются при сериализации объекта в JSON.

На основе запроса убедитесь, что в модели есть соответствующие свойства для запроса Dapper для сопоставления выбранных столбцов

public class UserViewModel
    public int UserId { get; set; } 
    public string UserName { get; set; }
    public string PrimaryEMail { get; set; }
    public DateTime CreationDate { get; set; }
}
...