Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
4
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
892
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4308
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2598
0
Лучшая ORM для C#
Просмотров: 489
 
Ответов: 5
Суть задачи в следующем: требуется хранить в базе данных информацию о состоянии объекта (например, следим за задвижкой на насосной станции второго подъема). Параметров по наблюдаемому агрегату может быть много — это температуры, вибрации, значения токов, процент поворота. Кроме того, необходимо сохранять так называемые временные «слепки» (значения всех параметров) состояния агрегата с заданной частотой, например раз в минуту, или по событию (при открытии задвижки), чтобы потом иметь возможность анализа каких-либо нештатных ситуаций.
Хочется работать с данными как с объектами на самом высоком уровне, имея функции запроса и записи их состояния без углубленного погружения в SQL. Подумал об использовании ORM, так как по моему мнению они именно для этого и предназначены. В общем, посоветуйте какую-нибудь стоящую систему.
Интересно, но именно по поводу ORM для .NET я точно могу сказать, что лучшее (действительно лучшее), чем выдавалось пользоваться — это LightSpeed от MindScape. В первую очередь потому, что при проектировании я следую парадигме Domain-Driven Design, а там она поддерживается на 5+, а также благодаря потрясной скорости работы.
Но у него есть один глобальные недостаток — он небесплатен (Express-версию я не рассматриваю всерьез, ограничение в 8 объектов модели слишком сковывает).
Далее — любой, кто подходит к этому вопросу, непременно сталкивается с развилкой — Entity Framework или NHibernate. Здесь уже дело вкуса, личных предпочтений, и используемого подхода к разработке. NHibernate намного более матерый и «готовый», нежели EF, но у EF есть визуальные дизайнеры, и прочие MS-овские вкусности. NHibernate, как уже было сказано выше, лучше использовать с Fluent-NHibernate, если вы конечно не любитель писать тонны XML :)
Кроме того, если вам нужно использование паттерна ActiveRecord (очень может быть применимо в вашем случае) — обязательно смотреть NHibernate и SubSonic.
Пользовался NHibernate, Entity Framwork, Linq2Sql, Gentle.Net. ИМХО NHibernate на текущий момент самая гибкая и самая продвинутая ORM. Сразу рекомендую использовать ее в связке с FluentNhibernate. ENtityFramework постепенно подбирается по возможностям к NHibernate, так что если есть желание использовать что-нибудь непосредственно от MS используйте его.
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться