2016-02-16 3 views
2

Скажите мне нужна таблица, которая выглядит следующим образом:Каков рекомендуемый способ создания таблицы с помощью PetaPoco (и NPoco)?

CREATE TABLE Record (
    Id INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED, 
    Guid UNIQUEIDENTIFIER UNIQUE NONCLUSTERED, 
    Version ROWVERSION, 
    DateOfBirth DATETIME2, 
    Name VARCHAR(64) NOT NULL 
) 

Что рекомендуемый способ создания таблицы выше, с использованием PetaPoco и NPoco?

ответ

0

PetaPoco - это все, что нужно для использования SQL для SQL. Поэтому правильным способом создания таблицы с помощью PetaPoco является создание ее с помощью SQL. У нас было несколько запросов на добавление генерации схемы из POCOs, но каждая поддерживаемая БД имеет свои собственные DDL, и, следовательно, добавить ее (правильно) было бы большим делом.

Может быть добавлен в какой-то день, но сейчас время разработки лучше потрачено на другие функции.

Тем не менее, PetaPoco является открытым исходным кодом, поэтому PR, если все сделано правильно, для генерации схемы будет с радостью согласился;)

Наконец, хотя я и не следовать NPoco все близко, я не думаю, что он поддерживает создание схемы из POCOs, а в догадка, это было бы по той же причине, что и выше.

+1

Итак, PetaPoco полностью не зависит от изменений в схеме? Я понимаю, что «держаться подальше от изменения схемы» и фокусироваться на сопоставлении объектов. Я искал хотя бы совет (например, можно использовать FluentMigrator). – Gatis

+0

Хорошо, я понимаю, что вы просите. Честно говоря, во всех проектах, над которыми я работал, где были встроены миграции, я использовал [dbup] (https://dbup.github.io/), чтобы справиться с этим. Это фактически означает, что я сам делал изменения. Я использовал несколько других методов, но не нашел того, который был достаточно гибким для моих нужд. FluentMigrator вызвал мой интерес, я прочь прочитать. – Plebsori

+0

Мне нравится использовать SqlFu. Создание SQL для создания таблицы по-прежнему является ручным заданием, но фреймворк помогает вам (например, путем предоставления имен столбцов для данного свойства POCO). Я не вижу, как этот подход связывает вас с DDL, специфичным для продукта, больше, чем инструкции SELECT, специфичные для продукта, которые, как я полагаю, могут быть выполнены с помощью специальных запросов в PetaPoco – Schneider

0

Я использую инструмент миграции (DbUp), чтобы не отставать от изменений в схеме.

Смежные вопросы