Простой CRUD-генератор для С#
Я ищу простой CRUD (или DAL) генератор для С#. Я не хочу ничего супертяжелого, так как у меня есть только пара таблиц в базе данных SQL Server 2008.
Любые предложения? Я знаю .netTiers, но это слишком много для того, что мне нужно.
Спасибо!
UPDATE: я попробовал LINQ to SQL, и он не подходит для моих нужд.
Ответы
Ответ 1
Я использовал SubSonic для прошлых проектов, легкий и простой в использовании.
Они предлагают простой учебное видео, и для его полной настройки требуется не более 10 минут. Я рекомендую посмотреть вторую половину видео, посвященную проектам веб-приложений, потому что он показывает вам, как создать настраиваемую кнопку Visual Studio, которая создает DAL для вас, когда вы нажимаете на нее, вместо того, чтобы использовать пользовательский поставщик сборки, как они предлагают в первая половина видео.
Он предлагает несколько способов доступа к вашим данным, активной записи, создания типизированных хранимых процедур и представлений или языка запросов, который вы можете использовать.
После использования я обнаружил несколько причуд:
- Если вы используете сгенерированную хранимую процедуру, которая не имеет параметра, она выдает
NullReferenceException
. Обходной путь заключается в создании фиктивного параметра, который не используется в процедуре
- Функция
DeepSave()
не работает в текущей версии 2.1, вам придется индивидуально сохранять данные из связанных таблиц.
- Когда вы используете кодировку (например,
Where(Tag.Columns.TagName).IsEqualTo("subjective")
, убедитесь, что вы используете строковое значение Tag.Columns.TagName
для ссылки на столбец - в противном случае будет выведено исключение, если вы попытаетесь использовать Column.Schema
Ответ 2
Visual Studio поставляется с генератором кода, который почти никто не знает о вызываемом T4.
Вы должны иметь возможность использовать его относительно легко для создания CRUD-шаблонов.
ИЗМЕНИТЬ
И вот пример: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/
Ответ 3
MyGeneration имеет несколько хороших Шаблоны генерации CRUD SP
Ответ 4
Как насчет использования DataSet, созданного с помощью конструктора DataSet. Я помню еще в Old Days (.NET 1.0 и 1.1), мы перетаскиваем DataAdapter на поверхность дизайна, задаем запрос Select, а запросы Insert, Update и Delete будут созданы для нас на основе запроса Select.
Ответ 5
На всякий случай деньги не представляют большой проблемы, у меня был большой успех с шаблонами в CodeSmith.
Существует множество шаблонов примеров для CRUD-операций, и он будет читаться непосредственно из вашей базы данных.
Ответ 6
Взгляните на Codesmith. версия 2.6 бесплатна, а более поздние версии - для покупки.
Ответ 7
попробуйте http://pureobjects.com/
ему не нужна никакая другая работа.
Ответ 8
LINQ To SQL легко и встроен в .NET 3.5 SP1.
Ответ 9
Мастера Visual Studio создадут для вас простое приложение CRUD.
Перетащите datagrid в свою форму, щелкните свойство соединения и следуйте за мастерами.
Не лучшие практики, но просты и работают...
Ответ 10
Вы пробовали веб-приложение Dynamic Data (использует LINQ to SQL) или веб-приложение Dynamic Data Entities (использует Entity Framework).
MSDN: Пошаговое руководство: создание нового веб-сайта динамических данных ASP.NET с использованием лесов
Ответ 11
Я использую пакет инструментов ssms
Ответ 12
Я использовал SubSonic 3 ActiveRecord, но с тех пор перешел в BLToolkit. BLToolkit намного сложнее начать с из-за отсутствия хорошей документации, но как только вы привыкнете к этому, это очень похоже на SubSonic... за исключением проблем с производительностью.
SubSonic великолепна и проста, но производительность невыносима для любого практического применения. Каждый раз, когда выполняется соединение или подзапрос, он вытаскивает целые таблицы.
Ответ 13
Посмотрите LLBLGen Pro, я клянусь этим. Это не бесплатно, но не дорого. Вы можете вставать и запускаться (писать код) в течение часа, а в шаблонах он генерирует код, который может делать в основном все, что вам нужно. Это так приятно (и продуктивно), что даже больше не нужно думать о коде интерфейса базы данных.