This question is locked. New answers and comments are not allowed.
i'm using Q1 2012 to generate from database. I have column Timestamp of type timestamp concurrency member is set to Timestamp and concurrency mode is timestamp and everything works as expected when using XML mapping type for code generation. When I change to fluent I get build error:
Here is the mapping:Error 4 There is a version property 'Timestamp.' specified in type 'Tls.Data.Artist', however the type is configured to use 'Timestamp' concurrency control instead of Version
ExceptionString:
System.InvalidOperationException: There is a version property 'Timestamp.' specified in type 'Tls.Data.Artist', however the type is configured to use 'Timestamp' concurrency control instead of Version
at Telerik.OpenAccess.Metadata.Fluent.MappingConfiguration.ThrowInvalidConcurrency(MemberInfo versionMember)
at Telerik.OpenAccess.Metadata.Fluent.MappingConfiguration.ProcessConcurrencyControl()
at Telerik.OpenAccess.Metadata.Fluent.MappingConfiguration.AddEntityMapping(MetadataContainer metadataContainer, MetaTable table)
at Telerik.OpenAccess.Metadata.Fluent.MappingConfiguration.AddEntityMapping(MetadataContainer metadataContainer)
at Telerik.OpenAccess.Metadata.Fluent.FluentMetadataSource.ProcessEntities(MetadataContainer metadataContainer)
at Telerik.OpenAccess.Metadata.Fluent.FluentMetadataSource.CreateModel()
at Telerik.OpenAccess.Metadata.Fluent.FluentMetadataSource.GetModelCore(MetadataContainer model)
at Telerik.OpenAccess.Sdk.Enhancer.Enhancer.CrossDomainRunImpl(AssemblyLoader assemblyLoader)
at Telerik.OpenAccess.Sdk.Enhancer.EnhancerBase.CrossDomainRun() F:\Projects\Tls.Data\obj\Debug\Tls.Data.dll Tls.Data
public
MappingConfiguration<Artist> GetArtistMappingConfiguration()
{
MappingConfiguration<Artist> configuration =
this
.GetArtistClassConfiguration();
this
.PrepareArtistPropertyConfigurations(configuration);
this
.PrepareArtistAssociationConfigurations(configuration);
return
configuration;
}
public
MappingConfiguration<Artist> GetArtistClassConfiguration()
{
MappingConfiguration<Artist> configuration =
new
MappingConfiguration<Artist>();
configuration.MapType().WithDataAccessKind(DataAccessKind.ReadWrite).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Timestamp).ToTable(
"Artist"
);
return
configuration;
}
public
void
PrepareArtistPropertyConfigurations(MappingConfiguration<Artist> configuration)
{
configuration.HasProperty(x => x.Timestamp).HasFieldName(
"timestamp"
).IsVersion().WithDataAccessKind(DataAccessKind.ReadWrite).ToColumn(
"Timestamp"
).IsNotNullable().HasColumnType(
"timestamp"
).HasPrecision(0).HasScale(0);
configuration.HasProperty(x => x.Name).HasFieldName(
"name"
).WithDataAccessKind(DataAccessKind.ReadWrite).ToColumn(
"Name"
).IsNotNullable().HasColumnType(
"nvarchar"
).HasLength(200);
configuration.HasProperty(x => x.Id).IsIdentity(KeyGenerator.Autoinc).HasFieldName(
"id"
).WithDataAccessKind(DataAccessKind.ReadWrite).ToColumn(
"Id"
).IsNotNullable().HasColumnType(
"int"
).HasPrecision(0).HasScale(0);
}