gpt4 book ai didi

c# - ORM 是否有任何方法可以确定 SQLite 列包含日期时间或 bool 值?

转载 作者:IT王子 更新时间:2023-10-29 06:26:49 25 4
gpt4 key购买 nike

我一直在考虑在我的下一个项目中使用 SQLite,但我担心它似乎缺少合适的 datetimebit 数据类型。

如果我使用 DbLinq(或其他一些 ORM)生成 C# 类,属性的数据类型是否会被“简化”?日期时间数据会被放置在 stringdouble 类型的属性中吗? bool 数据会被放置在 int 类型的属性中吗?

如果是,有什么影响?我正在设想一个场景,我需要用更具体的数据类型编写整个第二层类并进行大量转换和强制转换,但也许它并不像我担心的那么糟糕。如果您对这种情况或类似情况有任何经验,您是如何处理的?

最佳答案

SQLite 本身只能识别五种数据类型:NULLINTEGERREALTEXTBLOB。但它允许你声明任何你想要的类型名称,所以你可以这样写

CREATE TABLE SomeTable (
TimeAdded DATETIME,
SomeFlag BOOLEAN
);

并让您的 ORM 按照您想要的方式解释类型。

我已经围绕 SQLite 编写了一个 C++ 包装器,并采用了不同的方法来表示具有变体类型的所有数据库值。此变体提供不同类型之间的转换,因此 SqlValue("2010-05-03 01:01:04").AsTimestamp() 给出预期的时间戳对象。

关于c# - ORM 是否有任何方法可以确定 SQLite 列包含日期时间或 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2755915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com