Простой генератор CRUD для C # [закрыто]

изменить таблицу, добавив ограничение UNIQUE

ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)

, но вы можете сделать это, если таблица employee пуста.

или если записи существуют, попробуйте добавить IGNORE

ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)

UPDATE 1

Что-то пошло не так, я думаю. Вам нужно только добавить уникальное ограничение для столбца ename, так как eno всегда будет уникальным из-за AUTO_INCREMENT.

Чтобы добавить уникальное ограничение, вам нужно сделать некоторые очистки в вашей таблице.

Запросы ниже удаляют некоторые повторяющиеся записи и изменяет таблицу, добавляя уникальное ограничение для столбца ename.

DELETE a
FROM Employee a
     LEFT JOIN
     (
        SELECT ename, MIN(eno) minEno
        FROM Employee
        GROUP BY ename
     ) b ON a.eno = b.minEno
WHERE b.minEno IS NULL;

ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename);

Вот полная демонстрация

13
задан Martin 23 March 2009 в 02:13
поделиться

10 ответов

На всякий случай деньги не являются большим беспокойством, я имел большой успех с шаблонами в CodeSmith.

существует много демонстрационных шаблонов там для операций CRUD, и это будет читать непосредственно из Вашей базы данных.

2
ответ дан Damovisa 23 March 2009 в 12:13
поделиться
  • 1
    Premasagar, благодарите за свой ответ, но к сожалению ни один из этих подходов, кажется, не имеет никакого эффекта: ( – andrewdotcom 23 October 2009 в 15:06

MyGeneration имеет немного довольно хорошие шаблоны поколения SP CRUD

3
ответ дан MrTelly 23 March 2009 в 12:13
поделиться
  • 1
    Спасибо за подсказки - i' ll направляются в Доктора HTML5 и видят что they' ve добрался. – andrewdotcom 30 October 2009 в 09:12

Что относительно того, чтобы использовать DataSet создал использование разработчика DataSet. Я помню назад в Былые времена (.NET 1.0 и 1.1), мы перетащили бы DataAdapter на поверхность для дизайна, определить Запрос Select, и Вставка, Запросы на обновление и Запросы на удаление были бы созданы для нас, на основе Запроса Select.

2
ответ дан John Saunders 23 March 2009 в 12:13
поделиться
  • 1
    Спасибо, that' s интересная разработка. Делает мой ответ неправильно теперь, но меня can' t удаляют его, не теряя эти комментарии!:-), Могло бы стоить зарегистрировать ошибку против Python, чтобы заставить его соответствовать. FWIW, каждый браузер, который я попробовал согласованный с этой интерпретацией за исключением IE, который пошел для one-пїЅ-per-byte. Я couldn' t заставляют это происходить с Firefox. – bobince 30 March 2010 в 20:01

Я использовал SubSonic на прошлых проектах, это легко и просто в использовании.

Они предлагают простое учебное видео , и должно потребоваться не больше, чем 10 минут для получения его, полностью устанавливают. Я рекомендую наблюдать вторую половину видео, которое имеет дело с веб-приложением Проекты, потому что это показывает Вам, как создать специализированную кнопку Visual Studio, которая создает DAL для Вас каждый раз, когда Вы нажимаете на него вместо того, чтобы использовать сделанного на заказ поставщика, как они предполагают в первой половине видео.

Это предлагает несколько способов получить доступ к Вашим данным, Активной Записи, генерируя введенные хранимые процедуры и представления, или язык запросов , что можно использовать.

После использования его, я нашел несколько причуд:

  • при использовании сгенерированной хранимой процедуры, которая не имеет параметра, он бросит NullReferenceException. Обходное решение должно создать фиктивный параметр, который не используется в процедуре
  • Эти DeepSave(), функция не работает в текущих 2,1 версиях, необходимо будет индивидуально сохранить данные из объединяемых таблиц
  • при использовании coditional (например, Where(Tag.Columns.TagName).IsEqualTo("subjective"), удостоверьтесь, что Вы используете строковое значение Tag.Columns.TagName для ссылки на столбец - иначе, исключение будет выдано, при попытке использовать Column.Schema
10
ответ дан Community 23 March 2009 в 12:13
поделиться
  • 1
    Спасибо!, Don' t Вы думаете, что поток байтов в качестве примера в PR121 может использоваться в качестве тестового сценария для ожидаемого результата лучшей заменяющей практики? Я обновил ОБНОВЛЕНИЕ 2 с некоторыми мыслями о нем. – dangra 30 March 2010 в 21:35

LINQ К SQL легок, и он встроен в.NET 3,5 SP1.

1
ответ дан Paul Mendoza 23 March 2009 в 12:13
поделиться

Мастера Visual Studio создадут простое Приложение типа CRUD для Вас.

Перетаскивают datagrid на Вашей форме, нажимают свойство соединения и следуют за мастерами оттуда.

Не лучшие практики, но просто и работы...

1
ответ дан jason saldo 23 March 2009 в 12:13
поделиться

Visual Studio идет с генератором кода, который едва ли кто-то знает о названном T4.

необходимо быть в состоянии использовать его относительно легко для создания шаблонов CRUD.

РЕДАКТИРОВАНИЕ

И вот пример как: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/

7
ответ дан Giovanni Galbo 23 March 2009 в 12:13
поделиться

Вы попробовали Динамическое веб-приложение Данных (использует LINQ для SQL), или Динамическое веб-приложение Объектов Данных (использует Платформу Объекта).

MSDN: Пошаговая демонстрация: Создание Нового ASP.NET Динамический веб-сайт Данных Используя Леса

1
ответ дан bendewey 23 March 2009 в 12:13
поделиться
  • 1
    Посмотрите мое обновление 2 (о полчаса ранее) для кавычки от фактической части стандарта, где это явно запрещает то, что делает Python. – John Machin 30 March 2010 в 23:41

Смотрите на Codesmith. 2,6 версии являются бесплатными, и более поздние версии для покупки.

2
ответ дан Bill Martin 23 March 2009 в 12:13
поделиться
  • 1
    Вы могли уточнить то, что Вы сделали? I' ve добавил .mp3 файлы к декларации, но они не кэшируются, и загружает каждый раз. – SondreB 11 July 2012 в 19:51

Проверьте LLBLGen Pro, клянусь. Это не бесплатно, но не дорого. Вы можете приступить к работе (написать код) в течение часа, а прилагаемые к нему шаблоны генерируют код, который может делать практически все, что вы захотите. Это так приятно (и продуктивно), что даже не нужно больше думать о коде интерфейса базы данных.

0
ответ дан 1 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: