diff --git a/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteCodeFirstTest.cs b/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteCodeFirstTest.cs index 1f44d660..3ccd68bc 100644 --- a/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteCodeFirstTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteCodeFirstTest.cs @@ -335,7 +335,7 @@ namespace FreeSql.Tests.Sqlite ShortNullable = short.MinValue, String = "我是中国人string'\\?!@#$%^&*()_+{}}{~?><<>", Char = 'X', - TimeSpan = TimeSpan.FromSeconds(999), + TimeSpan = TimeSpan.FromMilliseconds(999500), TimeSpanNullable = TimeSpan.FromSeconds(60), UInt = uint.MaxValue, UIntNullable = uint.MinValue, diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteCodeFirst.cs b/Providers/FreeSql.Provider.Sqlite/SqliteCodeFirst.cs index 6845d10d..be6f2f5a 100644 --- a/Providers/FreeSql.Provider.Sqlite/SqliteCodeFirst.cs +++ b/Providers/FreeSql.Provider.Sqlite/SqliteCodeFirst.cs @@ -33,7 +33,7 @@ namespace FreeSql.Sqlite { typeof(float).FullName, CsToDb.New(DbType.Single, "float","float NOT NULL", false, false, 0) },{ typeof(float?).FullName, CsToDb.New(DbType.Single, "float","float", false, true, null) }, { typeof(decimal).FullName, CsToDb.New(DbType.Decimal, "decimal", "decimal(10,2) NOT NULL", false, false, 0) },{ typeof(decimal?).FullName, CsToDb.New(DbType.Decimal, "decimal", "decimal(10,2)", false, true, null) }, - { typeof(TimeSpan).FullName, CsToDb.New(DbType.Time, "bigint","bigint NOT NULL", false, false, 0) },{ typeof(TimeSpan?).FullName, CsToDb.New(DbType.Time, "bigint", "bigint",false, true, null) }, + { typeof(TimeSpan).FullName, CsToDb.New(DbType.Time, "decimal","decimal(18,3) NOT NULL", false, false, 0) },{ typeof(TimeSpan?).FullName, CsToDb.New(DbType.Time, "decimal", "decimal(18,3)",false, true, null) }, { typeof(DateTime).FullName, CsToDb.New(DbType.DateTime, "datetime", "datetime NOT NULL", false, false, new DateTime(1970,1,1)) },{ typeof(DateTime?).FullName, CsToDb.New(DbType.DateTime, "datetime", "datetime", false, true, null) }, { typeof(byte[]).FullName, CsToDb.New(DbType.Binary, "blob", "blob", false, null, new byte[0]) }, diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs b/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs index 4e036627..631f6cb5 100644 --- a/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs +++ b/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs @@ -33,8 +33,8 @@ namespace FreeSql.Sqlite break; case DbType.Time: if (value == null) value = null; - else value = ((TimeSpan)value).Ticks / 10000; - dbtype = DbType.Int64; + else value = ((TimeSpan)value).TotalSeconds; + dbtype = DbType.Decimal; break; } #if MicrosoftData @@ -65,8 +65,8 @@ namespace FreeSql.Sqlite break; case DbType.Time: if (value == null) value = null; - else value = ((TimeSpan)value).Ticks / 10000; - dbtype = DbType.Int64; + else value = ((TimeSpan)value).TotalSeconds; + dbtype = DbType.Decimal; break; } }