SQL Server CE 4.0 を使用して ASP.NET Web ページ サイトに取り組んでいます。
私の SQL Server CE 4.0 データベースは正常に動作していると思います。Entity Framework の有無にかかわらず、開発マシンで問題なく接続できます。
サイトをサーバーにプッシュすると、次の接続文字列を使用して、エンティティ フレームワークなしで問題なく接続できます。
<add name="StarterSite"
connectionString="Data Source=|DataDirectory|\StarterSite.sdf"
providerName="System.Data.SqlServerCe.4.0" />
私のEntity Framework接続文字列は次のようになります。
<add name="StarterSiteEntities"
connectionString="metadata=res://*/App_Code.ProductModel.csdl|res://*/App_Code.ProductModel.ssdl|res://*/App_Code.ProductModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|\StarterSite.sdf""
providerName="System.Data.EntityClient" />
EF データベース呼び出しを実行しようとすると、次のエラー メッセージが表示されます。
「/」アプリケーションでサーバー エラーが発生しました。
指定されたスキーマは無効です。
エラー:
App_Code.ProductModel.ssdl(2,88): エラー 0004: System.Data.SqlServerCe.Entity.dll を読み込めませんでした。SQL Server Compact を再インストールします。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Data.MetadataException: 指定されたスキーマが無効です。
エラー:
App_Code.ProductModel.ssdl(2,88): エラー 0004: System.Data.SqlServerCe.Entity.dll を読み込めませんでした。SQL Server Compact を再インストールします。ソース エラー:
行 23: using (var db = new StarterSiteEntities())
行 24: {
行 25: product = (from p in db.Products
行 26: where p.ProductID == productId
行 27: select p.FirstOrDefault();ソース ファイル: c:\sites\www.foosite.org\Admin-RUF\Admin-Product-Edit.cshtml 行: 25
スタックトレース:
[MetadataException: 指定されたスキーマが無効です。エラー: App_Code.ProductModel.ssdl(2,88): エラー 0004: System.Data.SqlServerCe.Entity.dll を読み込めませんでした。SQL Server Compact を再インストールします。] System.Data.Metadata.Edm.Loader.ThrowOnNonWarningErrors() +8610213 System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable 1 xmlReaders, IEnumerable
1 sourceFilePaths) +189 System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable 1 xmlReaders, IEnumerable
1 filePaths, Boolean throwOnError、DbProviderManifest& providerManifest、DbProviderFactory& providerFactory、String& providerManifestToken、Memoizer 2& cachedCTypeFunction) +182
System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable
1 xmlReaders、IEnumerable1 filePaths) +244
System.Data.Metadata.Edm.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) +90
System.Data.Metadata.Edm.StoreItemCollectionLoader.LoadItemCollection(StoreMetadataEntry entry) +16
System.Data.Metadata.Edm.MetadataCache.LoadItemCollection(IItemCollectionLoader
1 itemCollectionLoader、T エントリ) +163 System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections(String cacheKey、MetadataArtifactLoader loader、EdmItemCollection edmItemCollection、Object& entryToken) +191 System.Data.EntityClient.EntityConnection.LoadStoreItemCollections(MetadataWorkspace ワークスペース、DbConnection storeConnection、 System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) +586 System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, Boolean closeOriginalConnectionOnFailure) +75 System.Data.EntityClient.EntityConnection.Open() +150 System.Data.Objects.ObjectContext.EnsureConnection() +75 System.Data.Objects.ObjectQuery1.GetResults(Nullable
1 forMergeOption) +41 System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +36
System.Linq.Enumerable.FirstOrDefault(IEnumerable
1 ソース) +152 System.Data.Objects.ELinq.ObjectQueryProvider.b__1(IEnumerable 1 sequence) +41
System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle(IEnumerable
1 クエリ、式 queryRoot) +59 System.Data.Objects.ELinq.ObjectQueryProvider.System. Linq.IQueryProvider.Execute(式式) +133 System.Data.Entity.Internal.Linq.DbQueryProvider.Execute(式式) +87 System.Linq.Queryable.FirstOrDefault(IQueryable1 source) +251
ASP._Page_admin_ruf_Admin_Product_Edit_cshtml.Execute() in c:\sites\www.foosite.org\Admin-RUF\Admin-Product-Edit.cshtml:25
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198
System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable
1 エグゼキューター) +69 System.Web.WebPages.WebPage.ExecutePageHierarchy() +131 System.Web.WebPages.StartPage.RunPage() +17 System.Web.WebPages.StartPage.ExecutePageHierarchy() +64 System.Web.WebPages. WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter ライター、WebPageRenderingBase startPage) +78 System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +116
バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.18044
私は何を間違っていますか?