[Mono-dev] Entity Framework - new issues

Олег olegm-development at yandex.ru
Sat Feb 9 14:30:04 UTC 2013


Many thanks to Atsushi Eno for a solution for previous defect in System.Xml.

But there are new issues with EF. I tried to create simplest console 
application (file Test.zip attached to this letter, contains MonoDevelop 
project), it fails with following exception:

System.ArgumentException: An element with the same key already exists in 
the dictionary.
   at 
System.Collections.Generic.Dictionary`2[System.String,System.Object].Add 
(System.String key, System.Object value) [0x0007e] in 
/usr/ports/lang/mono/work/mono-3.0.3/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:423
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.TypeUsageBuilder.HandleNullableAttribute 
(System.Xml.XmlReader reader) [0x00015] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/TypeUsageBuilder.cs:605
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.TypeUsageBuilder.InternalHandleAttribute 
(System.Xml.XmlReader reader) [0x00010] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/TypeUsageBuilder.cs:300
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.TypeUsageBuilder.HandleAttribute 
(System.Xml.XmlReader reader) [0x00000] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/TypeUsageBuilder.cs:291
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.StructuredProperty.HandleAttribute 
(System.Xml.XmlReader reader) [0x00040] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/StructuredProperty.cs:227
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.ParseAttribute 
(System.Xml.XmlReader reader) [0x0006a] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:592
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.Parse (System.Xml.XmlReader 
reader) [0x0001d] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:193
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.StructuredType.HandlePropertyElement 
(System.Xml.XmlReader reader) [0x00007] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/StructuredType.cs:387
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.StructuredType.HandleElement 
(System.Xml.XmlReader reader) [0x0001f] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/StructuredType.cs:267
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaEntityType.HandleElement 
(System.Xml.XmlReader reader) [0x00000] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/ItemType.cs:198
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.ParseElement 
(System.Xml.XmlReader reader) [0x0002c] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:746
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.Parse (System.Xml.XmlReader 
reader) [0x000d0] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:220
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.Schema.HandleEntityTypeElement 
(System.Xml.XmlReader reader) [0x00007] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/Schema.cs:1023
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.Schema.HandleElement 
(System.Xml.XmlReader reader) [0x0001f] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/Schema.cs:592
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.ParseElement 
(System.Xml.XmlReader reader) [0x0002c] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:746
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaElement.Parse (System.Xml.XmlReader 
reader) [0x000d0] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaElement.cs:220
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.Schema.HandleTopLevelSchemaElement 
(System.Xml.XmlReader reader) [0x0000e] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/Schema.cs:1005
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.Schema.InternalParse 
(System.Xml.XmlReader sourceReader, System.String sourceLocation) 
[0x0021e] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/Schema.cs:210
   at System.Data.Entity.Core.EntityModel.SchemaObjectModel.Schema.Parse 
(System.Xml.XmlReader sourceReader, System.String sourceLocation) 
[0x0000f] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/Schema.cs:100
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaManager.ParseAndValidate 
(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, 
SchemaDataModelOption dataModel, 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.AttributeValueNotification 
providerNotification, 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.AttributeValueNotification 
providerManifestTokenNotification, 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.ProviderManifestNeeded 
providerManifestNeeded, IList`1& schemaCollection) [0x0008a] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaManager.cs:152
   at 
System.Data.Entity.Core.EntityModel.SchemaObjectModel.SchemaManager.ParseAndValidate 
(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, 
SchemaDataModelOption dataModel, 
System.Data.Entity.Core.Common.DbProviderManifest providerManifest, 
IList`1& schemaCollection) [0x0000d] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityModel/SchemaObjectModel/SchemaManager.cs:102
   at System.Data.Entity.Core.Metadata.Edm.EdmItemCollection.LoadItems 
(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, 
SchemaDataModelOption dataModelOption, 
System.Data.Entity.Core.Common.DbProviderManifest providerManifest, 
System.Data.Entity.Core.Metadata.Edm.ItemCollection itemCollection, 
Boolean throwOnError) [0x00002] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/EdmItemCollection.cs:245
   at System.Data.Entity.Core.Metadata.Edm.EdmItemCollection.Init 
(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean 
throwOnError) [0x00006] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/EdmItemCollection.cs:126
   at System.Data.Entity.Core.Metadata.Edm.EdmItemCollection..ctor 
(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean 
skipInitialization) [0x00023] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/EdmItemCollection.cs:41
   at 
System.Data.Entity.Core.Metadata.Edm.MetadataCache+EdmMetadataEntry.LoadEdmItemCollection 
(System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoader loader) 
[0x00008] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/MetadataCache.cs:653
   at 
System.Data.Entity.Core.Metadata.Edm.MetadataCache+EdmItemCollectionLoader.LoadItemCollection 
(System.Data.Entity.Core.Metadata.Edm.EdmMetadataEntry entry) [0x00000] 
in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/MetadataCache.cs:834
   at 
System.Data.Entity.Core.Metadata.Edm.MetadataCache.LoadItemCollection[EdmMetadataEntry] 
(IItemCollectionLoader`1 itemCollectionLoader, 
System.Data.Entity.Core.Metadata.Edm.EdmMetadataEntry entry) [0x00037] 
in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/MetadataCache.cs:367
   at 
System.Data.Entity.Core.Metadata.Edm.MetadataCache.GetOrCreateEdmItemCollection 
(System.String cacheKey, 
System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoader loader, 
System.Object& entryToken) [0x00020] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Metadata/MetadataCache.cs:273
   at 
System.Data.Entity.Core.EntityClient.EntityConnection.LoadEdmItemCollection 
(System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace workspace, 
System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoader 
artifactLoader) [0x0000f] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityClient/EntityConnection.cs:1053
   at 
System.Data.Entity.Core.EntityClient.EntityConnection.GetMetadataWorkspace 
(Boolean initializeAllCollections) [0x000b6] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/EntityClient/EntityConnection.cs:467
   at 
System.Data.Entity.Core.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection 
() [0x00017] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Objects/ObjectContext.cs:1839
   at System.Data.Entity.Core.Objects.ObjectContext..ctor 
(System.Data.Entity.Core.EntityClient.EntityConnection connection, 
Boolean isConnectionConstructor, 
System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlanFactory 
objectQueryExecutionPlanFactory, 
System.Data.Entity.Core.Common.Internal.Materialization.Translator 
translator) [0x000bc] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Objects/ObjectContext.cs:192
   at System.Data.Entity.Core.Objects.ObjectContext..ctor (System.String 
connectionString) [0x00000] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Objects/ObjectContext.cs:114
   at System.Data.Entity.Core.Objects.ObjectContext..ctor (System.String 
connectionString, System.String defaultContainerName) [0x00000] in 
/usr/ports/lang/mono/work/mono-3.0.3/external/entityframework/src/EntityFramework/Core/Objects/ObjectContext.cs:134
   at TestModel.TestEntities..ctor () [0x00000] in 
/home/Test/Test/TestModel.Designer.cs:46
   at Test.Program.Main (System.String[] args) [0x00001] in 
/home/Test/Test/Program.cs:11

Honestly, I'm going to investigate and probably rewrite my code to 
NHibernate, but if this sample project will be useful for someone who 
will try to make support of Entity Framework on Mono better, I would be 
glad to know it.

With best regards,
Oleg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Test.zip
Type: application/octet-stream
Size: 1013103 bytes
Desc: not available
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20130209/20070501/attachment-0001.obj>


More information about the Mono-devel-list mailing list