Мы используем ADO.Net DataService (.Net Framework 4.0, Visual Studio 2010). У нас есть операции выбора, вставки, обновления и удаления.
- Для выбора у нас есть запросы типа
School school = _context.School.Expand ("Address, ContactPerson, ContactPerson / Details ......"). Где (S => S.Name == "xxx"). SingleOrDefault ();
Для вставки
_context.AddToSchool (школа);
_contextSaveChanges ();
address.SchoolCode = school.Code; //// Адрес имеет отношение к школе
_context.AddToAddress (адрес);
// Сейчас у нас нет операции каскадной вставки.
Для обновления мы используем вот так
// Каждый раз при обновлении мы создаем объект. Мы сталкиваемся с такими проблемами, как «Контекст уже отслеживает сущность» или «Контекст не отслеживается». Это худшая практика: (
_context = new DataContext (......)
AttachObject («Школы», школа);
_context.UpdateObject (школа);
_context.SaveChanges ();
Фрагмент кода, который используется для Присоединить объект при обновлении.
private void AttachObject (строка entitySetName, объектный объект)
{
if (!_container.Entities.Where(entities => entities.Entity == entity).Any())
{
_container.AttachTo(entitySetName, entity);
}
}
Для удаления
// Сейчас у нас нет каскадной операции удаления.
Address address = _context.Address.where (A => A.Code == deleteAddress.Code) .SingleOrDefault ();
_context.DeleteObject (адрес);
_context.SaveChanges ();
Это занимает много времени даже в локальной системе. Я боюсь производительности, это нужно запускать на отдельном сервере. Скажите, пожалуйста, как лучше всего использовать «ADO.Net DATASERVICE»
Мне нужен ответ , а не Голосование вниз:)
РЕДАКТИРОВАТЬ : Я проверил с диапазоном 5 строк со столбцом 10 и вложенной таблицей 4. Даже я могу видеть, как пользовательский интерфейс зависает для обновления одной строки на 5 секунд.