Я использую опцию кодирования Self-Tracking Entities в EF4 (VS2010 RC) и пытаюсь использовать Dynamic Data для создания быстрого и грязного веб-сайта для редактирования. Файлы Entity, Data Context и EDMX находятся в отдельных сборках, и эта модель хорошо работает, когда я вызываю все в коде. Но когда я пытаюсь использовать его с динамическими данными, сразу же получаю полную ошибку:
Не удалось найти тип CLR для «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, конфигурация ContextConfiguration)
в SimpleAdmin.Global.RegisterRoutes (маршруты RouteCollection) в D: \ SimpleAdmin \ Global.asax.cs: строка 32
в SimpleAdmin.Global.Application_Start (Отправитель объекта, EventArgs e) в D: \ SimpleAdmin \ Global.asax.cs: строка 61
RegisterRoutes выглядит так:
DefaultModel.RegisterContext((() => new DataContext.Entities()), new ContextConfiguration() { ScaffoldAllTables = true });
Конструктор по умолчанию в контексте был изменен для использования строки my my connection, которая выглядит следующим образом:
<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"/>
Я предполагаю, что не правильно ссылаюсь на пробелы O, C или CS в строке соединения ... все же это прекрасно работает, если я вызываю контекст в коде и использую его. Так что я делаю не так?
Спасибо!