EDIT для людей, которые наткнулись на этот вопрос в будущем.Поддержание порядка вставки с помощью Breeze
Это не легкий вопрос, это вопрос EF, и его много раз спрашивали. Как here и here.
Я использую Бриз с нокаутом. Я создаю сущности и подталкиваю их к массиву, и при сохранении изменений на сервере данные заканчиваются в другом порядке, чем то, как оно было нажато на клиенте. Я использую Web API и Entity Framework.
кодJavascript выглядит следующим образом:
var owner = manager.createEntity('OwnerInformation');
licApp().owners.push(owner);
Перед SaveChanges
называется массив выглядит следующим образом:
Когда SaveChanges
называется saveBundle
выглядит следующим образом (ommiting много другой информации для краткости)
{"entities": [
{
"Id": 2008,
{
"Id": -3,
"LicensingApplicationId": 2008,
"FirstName": "First",
"LastName": "Owner",
},
{
"Id": -4,
"LicensingApplicationId": 2008,
"FirstName": "Second",
"LastName": "Owner",
}
]}
а после сохранения в базе данных в результате это (первый столбец идентификатор):
Почему они вставляются в обратном направлении?
У меня была аналогичная проблема раньше, и я не видел ее с тех пор - я думал и мог ошибаться, что это связано с тем, как я устанавливал свойство навигации (звучит сумасшедшим), но вы пробовали владельца () .licApp (licApp()) вместо добавления владельца в licApp? –
@PWKad все тот же результат! –