in

DĂ© specialist in .NET trainingen en consultancy

Jo-wen Mei

Bug in Entity Framework (metadata=res://*/ )

ok, de titel is een beetje vaag, maar de bug komt alleen voor in een specifiek scenario (wat ik niet in een zin kan omschrijven)

Ik heb een class library met een DataModel en andere domeinlogica erin. Nu wil ik vanuit een apart testproject testjes schrijven die gebruik maken van de entiteiten in de domein-assembly.

Nu moet ik sowieso de juiste connectionString opslaan in de app.config file van het testproject....

maar dan krijg ik nog de foutmelding: "System.Data.MetadataException: Unable to load the specified metadata resource.."

het testproject zoekt namelijk naar de *.csdl, *ssdl, *.msl bestanden, die als resource in de DataModel zitten ge-embed. Normaliter doorzoekt het alle assemblies die gereferenced zijn, BEHALVE als een unmanaged applicatie de managed dll laad.... wat dus het geval is als je het testframework van visual studio gebruikt! *zucht*

 

de oplossing is in ieder geval simpel: 

maak van 

<add name="OosterkampEntities" connectionString="metadata=res://*/Models.Oosterkamp.csdl|res://*/Models.Oosterkamp.ssdl|res://*/Models.Oosterkamp.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=Oosterkamp;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

dit

<add  name="OosterkampEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=Oosterkamp;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

De harde verwijzingen naar de resource bestanden zijn eruit.

 

meer info

Comments

No Comments