Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
894
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
913
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
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Лучшее решение .NET для часто изменяемой базы данных
В настоящее время я разрабатываю небольшое приложение CRUD. Их база данных-это огромный беспорядок и будет часто меняться в течение следующих 6 месяцев до года. Что бы вы порекомендовали для моего слоя данных:
1) ORM (если да, то какой?)
2) Linq2Sql
3) Хранимые Процедуры
4) Параметризованные Запросы
Мне действительно нужно решение, которое будет достаточно динамичным (как быстрым, так и легким), где я могу часто заменять таблицы и добавлять/удалять столбцы.
Примечание: у меня нет большого опыта работы с ORM (только немного SubSonic) и, как правило, используют хранимые процедуры, поэтому, возможно, это будет путь. Я хотел бы узнать Ling2Sql или NHibernate, если бы это позволяло ситуацию, которую я описал выше.
Здесь важно помнить, что если схема базы данных часто меняется, вы хотите иметь некоторый уровень безопасности типа времени компиляции. Я обнаружил, что это проблема с NHibernate, потому что он использует файлы сопоставления xml, поэтому, если вы что-то изменяете в своей схеме базы данных, вы не знаете до времени выполнения, что сопоставление нарушено.
Это также будет проблемой с сохраненными процессами.
Использование Linq2Sql даст вам преимущество, зная, где именно ваш код ломается при изменении схемы во время компиляции. Это для меня, это то, что будет иметь приоритет над всем остальным, если я работаю с часто меняющейся схемой
Я бы посмотрел на SubSonic с настройкой поставщика сборки (проект веб-сайта). Это отлично работает, потому что он автоматически восстанавливает объекты DAL каждый раз, когда вы строите свой проект, поэтому, если база данных изменяется таким образом, что ломает ваш код, вы получаете ошибку сборки.
Он работал хорошо, пока схема базы данных не стала действительно сложной, и мы попали в пределы шаблона ActiveRecord, но пока схема не очень сложна, она работает довольно хорошо. Как только схема стабилизируется, вы можете переключиться так, чтобы вы только строили DAL, когда захотите.
Вы определенно хотите использовать ORM. Любой ORM-это нормально, но вы хотите что-то, что будет генерировать строго типизированные классы. Когда поля добавляются, изменяются или удаляются из таблицы, вы хотите иметь возможность регенерировать эти классы и иметь дело только с исправлением ошибок времени компиляции. Если вы используете динамическую модель, вы, вероятно, будете иметь много неприятных ошибок во время выполнения. Это VERY важно! Я являюсь частью команды разработчиков MyGeneration на sourceforge, и я думаю, что это отличное решение вашей проблемы. Вы можете создать dOOdads, NHibernate, EasyObjects, EntitySpaces и т.д. Если вы хотите пойти с более дорогим решением, идите с CodeSmith или LLBLGen Pro . Удачи-все, кто заинтересован в использовании MyGeneration, не стесняйтесь обращаться ко мне с вопросами.
Насколько просто приложение? Если бы я работал со схемой / дизайном в течение нескольких месяцев, и не очень беспокоился о реальном приложении . . . Я бы рассмотрел использование EDM и проекта веб-приложения динамических сущностей данных. Это заставит вас идти с наименьшим количеством усилий, на мой взгляд. Это позволяет вам сосредоточиться на схеме, данных и других интересных вещах. Я надеюсь, что не получу слишком много отрицательных ударов от этого!
Вот как будет выглядеть диалоговое окно нового проекта
Если бы я был на вашем месте, я бы попытался использовать то, что я знал (sprocs) с Linq2Sql. Linq2Sql все еще может использовать ваши sprocs, но тогда у вас есть дополнительный бонус в виде нового инструмента в вашем поясе. Я думаю, что понимание синтаксиса и методологии Linq2XXX (X является случайной технологией, а не взрослой entertainment....which, теперь, когда я думаю об этом) будет отличным дополнением к вашему набору навыков, используя Linq над коллекцией объектов, это очень мило.
Но в конечном счете что-то вроде NHibernate подойдет вам лучше в долгосрочной перспективе.
NHibernate, но только в том случае, если вы будете поддаваться объектно-ориентированному подходу, в котором вы определяете свои классы, а затем определяете желаемую структуру таблиц в файлах сопоставления, а затем создаете схему базы данных, используя встроенные классы генерации схем NHibernate.
Для выполнения этого наоборот (например, у вас есть куча таблиц, а затем вы основываете свой объектный дизайн на этом) я нашел MyGeneration + NHibernate для работы, хотя я не слишком доволен полученными классами (главным образом потому, что я такой сторонник истинного объектно-ориентированного программирования).
Если схема базы данных часто меняется, предпочтите Entity Framework по сравнению с LINQ2SQL. Если схема изменяется, используя L2S, вы должны
1) удаление и повторное добавление таблицы (потеря настроек)
2) Измените модель вручную (как сделано здесь в stackoverflow)
EF-это супер-набор L2S, дающий вам большую гибкость использования и независимость от СУБД