У меня есть таблица Articles
со следующими колонками:
ID, Title, Excerpts, Content
Соответствующий класс модели MVC:
public class Articles
{
public int id { get; set; }
public string Title { get; set; }
public string Excerpts { get; set; }
public string Content { get; set; }
}
У меня есть процедура хранения, которая возвращает данные из таблицы Articles
в определенном порядке столбцов, которые настраиваются пользователем в другой таблице. Например, если столбцы находятся в порядке Title, ID, Content, Excerpts
тогда хранимая процедура вернет набор результатов, например:
Title ID Content Excerpts
Data 1 Data Data
Data 2 Data Data
....
Я сохраняю результирующий набор вышеуказанной хранимой процедуры в объекте List <> of Articles
и преобразовываю его в json
используя return Json()
и привязывая его к экрану с помощью Knockout.
Проблема, с которой я сталкиваюсь, заключается в том, что данные после преобразования в формат json
сохраняют порядок столбцов, как он объявлен в Articles MVC model class
а не как он возвращается из хранимой процедуры. Если я объявляю свойства класса Articles
в следующем порядке, тогда преобразованный json
принимает порядок столбцов на основе порядка свойств, объявленных в классе:
public class MTB_Articles
{
public string Title { get; set; }
public string Content { get; set; }
public string Excerpts { get; set; }
public int ID { get; set; }
}
В приведенном выше случае данные привязываются на экране в разделе " Title, Content, Excerpts, ID
. Все, что я хочу, - это форматировать данные json
же, как они возвращаются из хранимой процедуры. Как мы можем достичь этого?
Это работало для меня в Договоре данных WCF. Спасибо за совет
[DataMember(Order = 0)]
public string OrderID { get; set; }
[DataMember(Order = 1)]
public string OrderDate { get; set; }