7

鉴于table我的数据库(PostgreSQL)中的以下内容

CREATE TABLE produkt (
    id SERIAL NOT NULL,
    name VARCHAR(50),
    created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT timezone('utc'::text, now())
);

ALTER TABLE produkt ADD CONSTRAINT produkt_pkey PRIMARY KEY (id);

我想使用 NPoco 来使用这个 poco 访问数据

[TableName("produkt"), PrimaryKey("id", AutoIncrement = true)]
public class Product
{
    [Column("id")]
    public int Id { get; set; }

    [Column("name")]
    public string Name { get; set; }

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

现在,当我打电话时

var product = new Product
{
    Name = "My new Product"
};

Database.Insert(product);  // or Database.Save<Product>(product);

created_at-column 是-infinity,即使该值default已被声明。有没有什么办法解决这一问题?一种替代方法是在应用程序中设置日期,但我宁愿使用default数据库中的值来实现此功能。

4

1 回答 1

-2

尝试使 CreatedAt 可以为空:

[Column("created_at")] public Nullable<DateTime> CreatedAt { get; set; }

或在构造函数中设置其值,如此 处所示

于 2015-01-21T08:53:01.330 回答