Когда вы говорите, «сразу» Я должен предположить, что ваше приложение очень нетерпеливый данных ... для этого вы должны использовать 4-ый слой между DLL и BLL и называется Cache.
Как бы то ни было, что вы хотите что-то быстро, и для быстрых вещей вы никогда не звоните в базу снова и снова, вы звоните один раз и когда есть обновление, вы очищаете кеш на этом объекте, а в следующий раз, когда ваш BLL запрашивает данных, кеш пуст, поэтому он переходит к DAL для получения нового набора записей, помещая его в кеш для следующего вызова.
Чтобы быть начеку с обновлениями вы можете сделать свою собственную систему уведомлений, или просто реализовать интерфейс INotifyCollectionChanged
...
Если вы не хотите, чтобы принять все эти неприятности, когда вы посылаете новую строку изменить , у вас уже есть данные, вы можете добавить его в сетку (или любой другой объект выдержанного, который вы используете) с простой
DataTable dt = bll.ListAllEmployeesByCompanyId(2);
dt.Rows.Insert(0, myNewRow);
gv.DataSource = dt;
вы можете легко создать хороший UX, сделав верхнюю границу в этой сетке и сделать его желтым (поскольку данные не поступают из базы данных) и превратить его в светло-зеленый, когда данные поступают из базы данных (d все синхронно) ...
Это все до вашей стратегии, всегда вниз к одному и только вопросу для каждого программного обеспечения мы разрабатываем:
Имеет ли пользователь действительно заботится о том, что удивительных особенность?
Поскольку мы разработчики склонны считать много, а иногда, вы неправильно предположить :)
Thanx для ответа. Но если в каждую секунду поступают пакеты, я думаю, что лучшая идея - это только кеш обновления, а не ясный. Я имею в виду, что когда какие-либо изменения были вызваны, кеш обновляет собственные данные. – Saint
Если пакеты приходят каждую секунду, вы можете использовать совершенно другой подход, и никогда не будет нормальным, который применяется только к 80% случаев, с такими частотами обновления, вы бы использовали разные базы данных и технологии, как я [спросил на сайте Programmers] (http://programmers.stackexchange.com/questions/43927) – balexandre
Теперь я использую MongoDB (http://en.wikipedia.org/wiki/MongoDB), в котором есть необходимые механизмы, такие как «Архивирование и ведение журнала событий» «Агрегация», «Выполнение JavaScript на стороне сервера», «Обрезанные коллекции» и многое другое, поэтому я считаю, что база данных подходит. Только вопрос об архитектуре и способе обновления данных. – Saint