https://learn.jquery.com/events/introduction-to-custom-events/
В конце веб-страницы см .:
Ниже приведен пример использования .on () и .trigger (), который использует пользовательские данные в обоих случаях:
blockquote>
$( document ).on( "myCustomEvent", {
foo: "bar"
}, function( event, arg1, arg2 ) {
console.log( event.data.foo ); // "bar"
console.log( arg1 ); // "bim"
console.log( arg2 ); // "baz"
});
$( document ).trigger( "myCustomEvent", [ "bim", "baz" ] );
По умолчанию объекты будут использовать все поля для проверки параллелизма при создании редактирований. Это - то, что бросает InvalidOperationException.
Это может устанавливать свойство Update Check для всех полей к Никогда. Это должно быть сделано на всех полях для присоединения объекта, как изменено. Если это сделано, дополнительный вызов к контексту. SubmitChanges () сохранит данные.
С другой стороны, если Вы знаете исходные значения, можно присоединить и затем сделать обновления, но все значения, которые проверяются, должны соответствовать исходным значениям.
LinqEntity item = new LinqEntity(){ Id = 1, Name = "OldName", Surname = "OldSurname"};
context.LinqEntities.Attach(item);
item.Name = "John";
item.Surname = "Doe";
context.SubmitChanges();
Я не уверен, под чем Вы подразумеваете разъединенный от базы данных.
Кажется, что Вы пытаетесь вставить новую строку в таблицу LinqEntities - который корректен?
Если это так, Вы захотите сделать
context.LinqEntities.InsertOnSubmit(item);
context.Submit();
Хорошо, при попытке обновить строку с идентификатором = 1, то Вы сделаете это как это:
DataContext context = new DataContext();
LinqEntity item = (from le in context.LinqEntities
where le.ID == 1
select le).Single();
item.Name = "John";
item.Surname = "Doe";
context.Submit();
Вы могли также заменить выражение Linq более краткой лямбдой:
LinqEntity item = context.LinqEntities.Single(le => le.ID == 1);
Самая важная вещь, которую делает DataContext, отследить любые изменения, которые Вы вносите, так, чтобы при вызове Отправлять метода, он автоматически сгенерировал операторы Insert для вещей, которые Вы изменили.
При использовании ORM Вы обычно выбираете объект прежде, чем обновить его.
Можно использовать DataContext.ExecuteCommand(...)
обойти ORM, если Вы не хотите делать выбор.