J'utilise l'option codegen Entités Self-Tracking dans EF4 (VS2010 RC), et j'essaie d'utiliser Dynamic Data pour construire rapidement site Web sale pour l'édition. Les fichiers Entities, Data Context et EDMX sont tous dans des assemblages séparés, et ce modèle fonctionne bien lorsque j'appelle tout dans le code. Mais quand j'essaie de l'utiliser avec des données dynamiques, tout de suite, je reçois tout un tas FAIL:Entity Framework 4 + Entités Self-Tracking + ASP.NET Dynamic Data = Erreur
Impossible de trouver le type CLR pour 'Core.Recording'. à System.Data.Metadata.Edm.MetadataWorkspace.GetObjectSpaceType (StructuralType edmSpaceType) à System.Web.DynamicData.ModelProviders.EFDataModelProvider.GetClrType (EntityType entityType) à System.Web.DynamicData.ModelProviders.EFDataModelProvider.CreateTableProvider (EntitySet EntitySet , EntityType entityType) à System.Web.DynamicData.ModelProviders.EFDataModelProvider..ctor (Object contextInstance, Func 1 contextFactory) at System.Web.DynamicData.ModelProviders.SchemaCreator.CreateDataModel(Object contextInstance, Func
1 ContextFactory) à System.Web.DynamicData.MetaModel.RegisterContext (Func`1 ContextFactory, la configuration du ContextConfiguration) à SimpleAdmin .Global.RegisterRoutes (routesCollection routes) dans D: \ SimpleAdmin \ Global.asax.cs: ligne 32 à SimpleAdmin.Global.Application_Start (Object expéditeur, EventArgs e) dans D: \ SimpleAdmin \ Global.asax.cs: ligne 61
RegisterRoutes ressemble à ceci:
DefaultModel.RegisterContext((() => new DataContext.Entities()), new ContextConfiguration() { ScaffoldAllTables = true });
Le constructeur par défaut sur le contexte a été modifié pour utiliser ma ma chaîne de connexion, qui ressemble à ceci:
<add name="Entities" connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=System.Data.SqlClient;provider connection string="Data Source=xxxxxxxxxx;Initial Catalog=MyDB;Persist Security Info=True;User ID=xxxx;Password=xxxxxxx;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
J'imagine que je suis ne référençant pas correctement les espaces O, C ou CS dans la chaîne de connexion ... mais cela fonctionne très bien si j'appelle le contexte dans le code et l'utilise. Alors qu'est-ce que je fais mal?
Merci!
J'ai essayé ceci et j'obtiens l'exception "match ambigu" sur la méthode RegisterContext ... –