2014-09-26 7 views
0

Я желаю силы типа столбца mysql datetime, потому что petapoco создает столбец timestamp.Как я могу заставить тип столбца таблицы использовать Petapoco?

[TableName("test"), PrimaryKey("id")] 
public class Test 
{ 
     [Column("id")] 
     public long id { get; set; } 

     [Column("datetime")] 
     public DateTime datetime { get; set; } 
} 

Декоратор колонны имеет второй параметр «Именованные параметры». Как я могу использовать его?

ответ

0

Чтобы заставить правильные типы столбцов, я бы рекомендовал использовать сценарии для инициализации таблиц в базе данных и оставить PetaPoco для выполнения операций CRUD. Это проявляется в tests being used in PetaPoco, где используются сценарии для инициализации следующим образом:

SQL Server

CREATE TABLE petapoco (
    id bigint IDENTITY(1,1) NOT NULL, 
    date_created datetime NOT NULL, 
    ... 
); 

MySQL

CREATE TABLE petapoco (
    id bigint AUTO_INCREMENT NOT NULL, 
    date_created datetime NOT NULL, 
    ... 
) ENGINE=INNODB; 

Столбец декоратор используется для change the column name to which a property is mapped by specifying it as an argument to the [column] attribute. Поэтому, если у вас есть свойство с именем ID, но имя столбца в таблице называется article_id, можно использовать следующий делать отображение:

[Column("article_id")] 
public long id { get; set; } 

В своем коде вы будете использовать имя свойства при сохранении и загрузки данные и PetaPoco будут отображать свойство в правильный столбец.

Итак, в вашем вопросе не было бы необходимости в атрибуте, так как свойство и имена столбцов идентичны.

1

Вы можете пометить столбец как ResultColumn, таким образом столбец извлекается на выбирает, но не входит в UPDATE и INSERT

[ResultColumn("datetime")] 
    public DateTime datetime { get; set; } 

или просто

[ResultColumn] 
    public DateTime datetime { get; set; } 

(Вы надеваете» t нужно набрать имя, если имя свойства совпадает с именем поля)

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

  • Нет связанных вопросов^_^