Quantcast
Channel: Entity Framework
Viewing all articles
Browse latest Browse all 10318

Created Unassigned: EF6-beta 1 - DateTimeOffset Precision is null [1559]

$
0
0
Calling ObejectContext.CreateDatabaseScript for a model that includes a DateTimeOffset column results in a null reference exception in GetPrecision.

Here's the stacktrace:

```
at System.Data.Entity.SqlServer.Utilities.TypeUsageExtensions.GetFacetValue[T](TypeUsage type, String facetName)
at System.Data.Entity.SqlServer.Utilities.TypeUsageExtensions.GetPrecision(TypeUsage type)
at System.Data.Entity.SqlServer.SqlDdlBuilder.AppendType(EdmProperty column)
at System.Data.Entity.SqlServer.SqlDdlBuilder.AppendCreateTable(EntitySet entitySet)
at System.Data.Entity.SqlServer.SqlDdlBuilder.CreateObjectsScript(StoreItemCollection itemCollection, Boolean createSchemas)
at System.Data.Entity.SqlServer.SqlProviderServices.CreateObjectsScript(SqlVersion version, StoreItemCollection storeItemCollection)
at System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabaseScript(String providerManifestToken, StoreItemCollection storeItemCollection)
at System.Data.Entity.Core.Common.DbProviderServices.CreateDatabaseScript(String providerManifestToken, StoreItemCollection storeItemCollection)
at System.Data.Entity.Core.Objects.ObjectContext.CreateDatabaseScript()
at GenerateScripts.Program.Main(String[] args) in e:\TempProjects\GenerateScripts\GenerateScripts\Program.cs:line 51
```


I spent an afternoon digging through the source and trying to debug this issue but i could't track down exactly where it should be fixed. But, i did come up with a failling test to reproduce it:


```

[Fact]
public void MapEntityType_should_correctly_map_offsetdatetime()
{
var model = new EdmModel(DataSpace.CSpace);
var typeMapper = new TypeMapper(new MappingContext(new ModelConfiguration(), new ConventionsConfiguration(), model));
var mockObjectType = new MockType("Foo")
.Property<int>("Id")
.Property<DateTimeOffset>("Baz");

new MockAssembly(mockObjectType);

var entityType = typeMapper.MapEntityType(mockObjectType);

Assert.NotNull(entityType.DeclaredMembers["Baz"].TypeUsage.Facets["Precision"].Value);

}

```



Viewing all articles
Browse latest Browse all 10318

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>