在我的数据库(PostgreSQL)中给出以下table
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
- 列为-infinity
,即使已声明default
值。有没有什么办法解决这一问题?一种替代方法是在应用程序中设置日期,但我宁愿使用数据库中的default
值来实现此功能。
答案 0 :(得分:-2)
尝试makin CreatedAt nullable:
[Column("created_at")]
public Nullable<DateTime> CreatedAt { get; set; }
或在构造函数中设置其值如图所示 here。