参考までに、この未回答の質問をご覧ください。まったく同じエラーがあります。間違って Code-First を使用することとは関係ありません。2 つの EDMX ファイル (1 つは単純な古い CodeGen、もう 1 つは dBContext T4 コード生成)、2 つの異なる名前空間、異なる接続文字列などです。データにアクセスしようとすると、DBContext モデルがエラーをスローします。
そのため、(dbContext T4 テンプレートで生成されたオブジェクト) にアクセスするNameSpace.Models.MyEntities.ObjectSet
と、次のエラーが発生します。
のコンセプト モデル タイプが見つかりませんでした
AnotherNameSpace.Models.MyObjectClass
。
どこAnotherNameSpace.Models.MyObjectClass
で、別のフォルダー/名前空間にある完全に異なる EDMX を参照します。t4で生成されたファイルなどのどこにも参照がまったく見つかりませんAnotherNameSpace.Models.MyObjectClass
。これらのEDMXファイルは互いにコピーされていません。文字通り、EDMX ファイルの唯一の共通点は、最終的に同じデータベースを指していることです (ただし、接続文字列を共有していません)。
上記の ObjectSet にアクセスしようとすると、次のように分類されるエラーがスローされますSystem.ArgumentException
。
at System.Data.Metadata.Edm.MetadataWorkspace.GetEdmSpaceType[T](T objectSpaceType)
at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappings()
at System.Data.Entity.Internal.InternalContext.TryUpdateEntitySetMappingsForType(Type entityType)
at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappingsForType(Type entityType)
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
at System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
at System.Linq.Queryable.Where[TSource](IQueryable`1 source, Expression`1 predicate)
at GratisWeb.Areas.App.Controllers.WorkplanController.Index() in B:\eGrATIS\Code\src\GratisWeb\Areas\App\Controllers\WorkplanController.cs:line 30
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)