SQLite + Code First: how to create 'RowVersion' columns ([Timestamp] annotation)

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for SQLite
Post Reply
[email protected]
Posts: 4
Joined: Mon 18 Jan 2016 09:24

SQLite + Code First: how to create 'RowVersion' columns ([Timestamp] annotation)

Post by [email protected] » Tue 19 Jan 2016 15:48

Hi,
I'm trying to figure out how to add a column that is used for concurrency handling (aka 'rowversion' in EF).
I'm using the provided Sample application from here:
http://blog.devart.com/entity-framework ... Migrations

My first attempt to add a property with an [Timestamp] annotation failed.
code:

Code: Select all

[Timestamp]
public byte[] Token { get; set; }
This results in following error:
Unhandled Exception: System.InvalidOperationException: The store type 'rowversion' could not be found in the Devart.Data.SQLite provider manifest
at System.Data.Entity.Utilities.DbProviderManifestExtensions.GetStoreTypeFromName(DbProviderManifest providerManifest, String name) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Utilities\DbProviderManifestExtensions.cs:line 25
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.ConfigureColumn(EdmProperty column, EntityType table, DbProviderManifest providerManifest) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Properties\Primitive\PrimitivePropertyConfiguration.cs:line 311
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.BinaryPropertyConfiguration.ConfigureColumn(EdmProperty column, EntityType table, DbProviderManifest providerManifest) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Properties\Primitive\BinaryPropertyConfiguration.cs:line 67
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.Configure(EdmProperty column, EntityType table, DbProviderManifest providerManifest, Boolean allowOverride, Boolean fillFromExistingConfiguration) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Properties\Primitive\PrimitivePropertyConfiguration.cs:line 300
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.<>c__DisplayClass4.<Configure>b__3(Tuple`2 pm) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Properties\Primitive\PrimitivePropertyConfiguration.cs:line 224
at System.Data.Entity.Utilities.IEnumerableExtensions.Each[T](IEnumerable`1 ts, Action`1 action) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\Common\IEnumerableExtensions.cs:line 53
at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.Configure(IEnumerable`1 propertyMappings, DbProviderManifest providerManifest, Boolean allowOverride, Boolean fillFromExistingConfiguration) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Properties\Primitive\PrimitivePropertyConfiguration.cs:line 224
at System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration.ConfigurePropertyMappings(IList`1 propertyMappings, DbProviderManifest providerManifest, Boolean allowOverride) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Types\StructuralTypeConfiguration.cs:line 176
at System.Data.Entity.ModelConfiguration.Configuration.Types.EntityTypeConfiguration.ConfigurePropertyMappings(DbDatabaseMapping databaseMapping, EntityType entityType, DbProviderManifest providerManifest, Boolean allowOverride) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Types\EntityTypeConfiguration.cs:line 692
at System.Data.Entity.ModelConfiguration.Configuration.Types.EntityTypeConfiguration.Configure(EntityType entityType, DbDatabaseMapping databaseMapping, DbProviderManifest providerManifest) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\Types\EntityTypeConfiguration.cs:line 619
at System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration.ConfigureEntityTypes(DbDatabaseMapping databaseMapping, ICollection`1 entitySets, DbProviderManifest providerManifest) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\ModelConfiguration.cs:line 545
at System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration.Configure(DbDatabaseMapping databaseMapping, DbProviderManifest providerManifest) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Configuration\ModelConfiguration.cs:line 385
at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\DbModelBuilder.cs:line 428
at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\DbModelBuilder.cs:line 365
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 487
at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\RetryLazy`.cs:line 71
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 446
at System.Data.Entity.Internal.InternalContext.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 505
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 792
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 596
at System.Data.Entity.Internal.Linq.InternalSet`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 715
at System.Data.Entity.Infrastructure.DbQuery`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DbQuery`.cs:line 63
at CrmDemoCodeFirst.Queries.GetCategoriesByPrice(MyDbContext context) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst\Queries.cs:line 12
at CrmDemoCodeFirst.Program.Main(String[] args) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst.SQLite\Program.cs:line 34


My next attempt was to specify a DB column type:

Code: Select all

[Timestamp]
[Column(TypeName = "int32")]
public byte[] Token { get; set; }
I've tried serveral types:
- nvarchar
- Int32
- DateTime

But all resulted into this error:
Unhandled Exception: System.Data.Entity.Core.MappingException: Schema specified is not valid. Errors:
(87,12) : error 2019: Member Mapping specified is not valid. The type 'Edm.Binary[Nullable=False,DefaultValue=,MaxLength=8,FixedLength=False,ConcurrencyMode=Fixed]' of member 'Token' in type 'CrmDemoCodeFirst.ProductCategory' is not compatible with 'Devart.Data.SQLite.int32[Nullable=False,DefaultValue=,StoreGeneratedPattern=Computed]' of member 'Token' in type 'CodeFirstDatabaseSchema.ProductCategory'.

at System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders, IList`1 filePaths, Boolean throwOnError) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Mapping\StorageMappingItemCollection.cs:line 638
at System.Data.Entity.Core.Mapping.StorageMappingItemCollection..ctor(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Mapping\StorageMappingItemCollection.cs:line 533
at System.Data.Entity.ModelConfiguration.Edm.DbDatabaseMappingExtensions.ToStorageMappingItemCollection(DbDatabaseMapping databaseMapping, EdmItemCollection itemCollection, StoreItemCollection storeItemCollection) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Edm\DbDatabaseMappingExtensions.cs:line 73
at System.Data.Entity.ModelConfiguration.Edm.DbDatabaseMappingExtensions.ToMetadataWorkspace(DbDatabaseMapping databaseMapping) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\ModelConfiguration\Edm\DbDatabaseMappingExtensions.cs:line 39
at System.Data.Entity.Internal.CodeFirstCachedMetadataWorkspace..ctor(DbDatabaseMapping databaseMapping) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\CodeFirstCachedMetadataWorkspace.cs:line 37
at System.Data.Entity.Infrastructure.DbCompiledModel..ctor(DbModel model) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DbCompiledModel.cs:line 54
at System.Data.Entity.Infrastructure.DbModel.Compile() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DbModel.cs:line 115
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 494
at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\RetryLazy`.cs:line 71
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 446
at System.Data.Entity.Internal.InternalContext.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 505
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 792
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 596
at System.Data.Entity.Internal.Linq.InternalSet`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 715
at System.Data.Entity.Infrastructure.DbQuery`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DbQuery`.cs:line 63
at CrmDemoCodeFirst.Queries.GetCategoriesByPrice(MyDbContext context) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst\Queries.cs:line 12
at CrmDemoCodeFirst.Program.Main(String[] args) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst.SQLite\Program.cs:line 34

Is there a way to work to have properties with a [Timestamp] annotation in dotConnect for SQLite?

Edit:
I've tried to add a manually mapping for the token property:

Code: Select all

modelBuilder.Entity<ProductCategory>()
   .Property(p => p.Token)
   .IsRowVersion()
   .HasColumnType("binary");
This leads to following exception:
Note: property 'Token' is initialized with this statement in class MyDbContextSeeder:

Code: Select all

ConcurrencyToken = new byte[8]
Unhandled Exception: System.Data.DataException: An exception occurred while initializing the database.
See the InnerException for details.
---> System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
---> System.Data.Entity.Core.UpdateException: An error occurred while updating the entries.
See the NOT NULL constraint failed: ProductCategory.Token
n
at Devart.Data.SQLite.a7.b(bt A_0)
at Devart.Data.SQLite.a7.d(bt A_0)
at Devart.Data.SQLite.bt.b()
at Devart.Data.SQLite.af.e()
at Devart.Data.SQLite.SQLiteDataReader.c()
at Devart.Data.SQLite.SQLiteCommand.InternalExecute(CommandBehavior behavior, IDisposable statement, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at Devart.Data.SQLite.Entity.s.a(CommandBehavior A_0)
at Devart.Common.Entity.ci.b(CommandBehavior A_0)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t, DbCommandInterceptionContext`1 c) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\Interception\DbCommandDispatcher.cs:line 113
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\Interception\InternalDispatcher.cs
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\Interception\DbCommandDispatcher.cs:line 111
at System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InterceptableDbCommand.cs:line 134
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Mapping\Update\Internal\DynamicUpdateCommand.cs:line 128
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Mapping\Update\Internal\UpdateTranslator.cs:line 416
--- End of inner exception stack trace ---
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Mapping\Update\Internal\UpdateTranslator.cs:line 425
at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<Update>b__2(UpdateTranslator ut) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\EntityClient\Internal\EntityAdapter.cs:line 74
at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](T noChangesResult, Func`2 updateFunction) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\EntityClient\Internal\EntityAdapter.cs:line 117
at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\EntityClient\Internal\EntityAdapter.cs:line 74
at System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStore>b__35() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3168
at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3291
at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3166
at System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass2a.<SaveChangesInternal>b__27() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3039
at System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DefaultExecutionStrategy.cs:line 45
at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3038
at System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions options) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Core\Objects\ObjectContext.cs:line 3017
at System.Data.Entity.Internal.InternalContext.SaveChanges() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 437
--- End of inner exception stack trace ---
at System.Data.Entity.Internal.InternalContext.SaveChanges() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 441
at System.Data.Entity.Internal.LazyInternalContext.SaveChanges() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 197
at System.Data.Entity.DbContext.SaveChanges() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\DbContext.cs:line 332
at System.Data.Entity.DropCreateDatabaseAlways`1.InitializeDatabase(TContext context) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\DropCreateDatabaseAlways`.cs:line 47
at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf`1.<CreateInitializationAction>b__e() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 575
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 371
--- End of inner exception stack trace ---
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 377
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 558
at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 616
at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\RetryAction`.cs:line 61
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 643
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\LazyInternalContext.cs:line 616
at System.Data.Entity.Internal.InternalContext.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 506
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\InternalContext.cs:line 792
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 596
at System.Data.Entity.Internal.Linq.InternalSet`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Internal\Linq\InternalSet`.cs:line 715
at System.Data.Entity.Infrastructure.DbQuery`1.Include(String path) in d:\Data\Tests\entityframework-08b39e0358c0fbe951cff42efd3493d532d46d1a\src\EntityFramework\Infrastructure\DbQuery`.cs:line 63
at CrmDemoCodeFirst.Queries.GetCategoriesByPrice(MyDbContext context) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst\Queries.cs:line 12
at CrmDemoCodeFirst.Program.Main(String[] args) in d:\Data\Tests\CrmDemo.EF6CodeFirst_\CrmDemo.EFCodeFirst\CrmDemo.EFCodeFirst.SQLite\Program.cs:line 34

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: SQLite + Code First: how to create 'RowVersion' columns ([Timestamp] annotation)

Post by Shalex » Wed 20 Jan 2016 15:24

SQLite doesn't have the rowversion column data type. A similar issue (for Oracle) is discussed at http://forums.devart.com/viewtopic.php?f=30&t=20936. We have modified a predefined EF6 sample for SQLite by adding the Token property to the Product class and sent it to your forum profile email. If you did not receive it, check your spam filter and provide us with an alternative email address.

Post Reply