2014-07-21 5 views
0

Vista DB와 SQL Server간에 전환 할 수 있어야합니다. SQL Server를 사용하여 edmx를 생성하고 Vista DB 용으로 분리 된 SSDL 파일을 만들었습니다. 나는 다음과 같은 오류 얻을 내 비스타 DB SSDL를 이용할 수 있도록 연결 문자열을 업데이트 할 때 : 나는 별도의 MSL (SQL Server에서 사용하는 MSL의 그것의 단지 사본을 만드는 시도했습니다사용자 지정 SSDL - 오류 2002 :이 MSL의 일부로 지정된 개념 모델의 EntityContainer가 MetadataWorkspace에 없습니다.

DataModel.msl(3,4) : error 2002: The EntityContainer 'MyEntities' for the conceptual model specified as part of this MSL does not exist in MetadataWorkspace. 
    at System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders, IList`1 filePaths, Boolean throwOnError) 
    at System.Data.Entity.Core.Mapping.StorageMappingItemCollection..ctor(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders, IList`1 filePaths) 
    at System.Data.Entity.Core.Metadata.Edm.MetadataCache.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) 
    at System.Data.Entity.Core.Metadata.Edm.MetadataCache.<>c__DisplayClass5.<>c__DisplayClass7.<GetMetadataWorkspace>b__1() 
    at System.Lazy`1.CreateValue() 
    at System.Lazy`1.LazyInitValue() 
    at System.Lazy`1.get_Value() 
    at System.Data.Entity.Core.Metadata.Edm.MetadataCache.<>c__DisplayClass5.<>c__DisplayClass7.<GetMetadataWorkspace>b__4() 
    at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.LoadAndCheckItemCollection[T](Func`1 itemCollectionLoader) 
    at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.<>c__DisplayClass16.<.ctor>b__f() 
    at System.Lazy`1.CreateValue() 
    at System.Lazy`1.LazyInitValue() 
    at System.Lazy`1.get_Value() 
    at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace, Boolean required) 
    at System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace) 
    at System.Data.Entity.Core.Objects.ObjectContext.InitializeMappingViewCacheFactory(DbContext owner) 
    at System.Data.Entity.Core.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor, ObjectQueryExecutionPlanFactory objectQueryExecutionPlanFactory, Translator translator, ColumnMapFactory columnMapFactory) 
    at System.Data.Entity.Core.Objects.ObjectContext..ctor(EntityConnection connection) 
    at System.Data.Entity.Internal.InternalConnection.CreateObjectContextFromConnectionModel() 
    at System.Data.Entity.Internal.LazyInternalConnection.CreateObjectContextFromConnectionModel() 
    at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 

그것을하지 않았다 거기에 특정 공급자가있는 것처럼 보입니다). 그러나 문제가 해결되지 않았습니다. 필요한 VistaDB dll을 참조하고 있습니다. 실제로 Vista DB 용 edmx를 다시 만들면 모든 것이 잘 작동하지만 실제로이 방법으로 앞뒤로 전환하는 것은 귀찮습니다.

내가 놓친 다른 것이 있습니까?

답변

0

이것은 당황스러운 문제였습니다. 실수로 연결 문자열의 csdl 부분을 삭제 한 것 같습니다. 다시 문제를 해결했습니다.