我有SQLite数据库与表报告。
CREATE TABLE IF NOT EXISTS Reports (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
ReportName TEXT NOT NULL UNIQUE,
CreatedAt REAL NOT NULL
)
它包含列CreatedAt,日期存储为自公元前4714年11月24日以来的天数的分数(julianday)
INSERT INTO Reports (ReportName, CreatedAt) VALUES ('Report1', julianday('2023-03-19 13:10:43.254'))
当我需要取回DateTime值时,我需要使用函数strftime。
SELECT
ReportName,
strftime('%Y-%m-%d %H:%M:%f', CreatedAt) as CreatedAt
FROM Reports
WHERE Id = 123
是否可以创建POCO类并使用Linq2DB将其Map到该表?
public class Report
{
public long Id { get; set; }
public string ReportName { get; set; }
public DateTime CreatedAt { get; set; }
}
public class ReportsContext : DataConnection
{
public ITable<Report> Reports => this.GetTable<Report>();
}
我知道我可以使用ExpressionMethodAttribute并使用LINQ表达式将任何属性Map到计算值,但在这种情况下,当从DB阅读和写入数据库时,我需要调用不同的SQL函数。
1条答案
按热度按时间ih99xse11#
我找到了解决办法
然后我使用流畅的Map
类Report很简单