問題タブ [entity-framework-6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework - Mono 3.0.3 での EF6 での NullReferenceException
既存の Entity Framework プロジェクトを Mono に移行しようとしていますが、奇妙なバグが見つかりました: リクエストが実行され、EF がモデル スキーマをロードすると、.Net with EF6 Alpha 2 では動作するにもかかわらず、Mono でスローされます。例外は次のとおりです。
メタデータなどを読み込めないと思いますが、入力ストリームがnullであることを確認しない場合、少なくとも最も深い行はXmlDocumentとXmlSchemaの既知の動作のように見えます。埋め込みリソースの代わりにメタデータ ファイルを使用しようとしましたが、役に立ちませんでした。
私はソースを掘り下げようとしますが、誰かがすでに何が起こっているのかを知っていると本当に役に立ちます.
c# - デリゲートプロパティを持つオブジェクトを永続化する
デリゲートプロパティを使用してオブジェクトを永続化しようとしています
しかし、私はこのエラーを受け取ります:
(12,10):エラー3004:6、12、21行目から始まるフラグメントのマッピングの問題:SetScheduledTasksのプロパティScheduledTask.callbackにマッピングが指定されていません。キー(PK)を持つエンティティは、次の場合にラウンドトリップしません。エンティティがタイプ[Frontline.Core.Scheduling.ScheduledTask]の場合
コンテキストをロードするとき。
エンティティフレームワークを使用して、デリゲートでオブジェクトを永続化するにはどうすればよいですか?
c# - System.Data.Entity.SqlServer.SqlProviderServices、EntityFramework.SqlServerが見つかりません
SqlConnectionからDbContextを構築しています。使用すると、次のエラーが発生します。
'System.Data.SqlClient'ADO.NETプロバイダーのEntityFrameworkプロバイダータイプ'System.Data.Entity.SqlServer.SqlProviderServices、EntityFramework.SqlServer、Version = 6.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'はできませんでしたロードされました。
6.0.0-alpha2-11210を使用しています。
Entity.SqlServerへの参照があり、クエリの前に次のコード行を配置することで「修正」できたので、奇妙であることがわかりました。
アルファ版のバグですか?
entity-framework - Entity Framework 6. スキーマ名
テーブル名を指定せずに、エンティティにスキーマ名を割り当てたいです。今、私ができることは次のとおりです。modelBuilder.Entity<T>().ToTable("MyEntities", "myschema");
次のようなことを行う方法はありますmodelBuilder.Entity<T>().ToTable("myschema")
か? PluralizationService が内部になるため、PluralizationService を使用して tablename を手動で計算できないことを考慮してください...
deployment - ASP.NET MVC 4 + Entity Framework 6 + SQL Compact Edition 4.0 展開 インストールなし
Entity Framework 6 (Code First) と SQL Compact 4.0 を使用する基本的な MVC 4 アプリを、iis がインストールされた Windows 7 のクリーン インストールにデプロイしようとしています (mvc 4 と SQL Compact 4.0 はインストールされていません)。
次の nuget パッケージを db プロジェクトにインストールしました。
- EntityFramework (バージョン 6.0.0-alpha2)
- EntityFramework.SqlServerCompact (バージョン 6.0.0-alpha2)
- Microsoft.AspNet.Providers (バージョン 1.2)
- Microsoft.AspNet.Providers.Core (バージョン 1.2)
- Microsoft.SqlServer.Compact (バージョン 4.0.8876.1)
web.config では、次の構成を取得しました。
Bin フォルダー (sql ce ファイルは amd64 および x86 フォルダーにあります。
- [amd64]
- [x86]
- Antlr3.Runtime.dll
- DotNetOpenAuth.AspNet.dll
- DotNetOpenAuth.Core.dll
- DotNetOpenAuth.OAuth.Consumer.dll
- DotNetOpenAuth.OAuth.dll
- DotNetOpenAuth.OpenId.dll
- DotNetOpenAuth.OpenId.RelyingParty.dll
- EntityFramework.dll
- EntityFramework.SqlServer.dll
- EntityFramework.SqlServer.xml
- EntityFramework.SqlServerCompact.dll
- EntityFramework.SqlServerCompact.xml
- EntityFramework.xml
- Microsoft.Web.Infrastructure.dll
- Microsoft.Web.WebPages.OAuth.dll
- Newtonsoft.Json.dll
- ShipMedProto.DB.dll
- ShipMedProto.DB.pdb
- ShipMedProto.Web.dll
- ShipMedProto.Web.pdb
- System.ComponentModel.DataAnnotations.dll
- System.Data.DataSetExtensions.dll
- System.Data.SqlServerCe.dll
- System.Data.SqlServerCe.Entity.dll
- System.Net.Http.Formatting.dll
- System.Web.Helpers.dll
- System.Web.Http.dll
- System.Web.Http.WebHost.dll
- System.Web.Mvc.dll
- System.Web.Optimization.dll
- System.Web.Providers.dll
- System.Web.Razor.dll
- System.Web.WebPages.Deployment.dll
- System.Web.WebPages.dll
- System.Web.WebPages.Razor.dll
- WebActivatorEx.dll
- WebGrease.dll
- WebMatrix.Data.dll
- WebMatrix.WebData.dll
クリーン マシンにデプロイすると、次のエラー メッセージが表示されます。
要求された .Net Framework Data Provider が見つかりません。インストールされていない可能性があります。
私の開発マシンでは問題なく動作しています。(SQL ceをインストールしました)
私が間違っていることの手がかりはありますか?
c# - ChangeTracker から元のエンティティを取得する方法
ChangeTracker
(元の値だけでなく)元のエンティティ自体を取得する方法はありますか?
State
が である場合、Modified
私はこれを行うことができると思います:
しかし、これはあまり良くないように思えます。私が知らない問題があると確信しています...もっと良い方法はありますか?
Entity Framework 6 を使用しています。
entity-framework - エンティティストアドプロシージャ/関数インポートでEF6アルファ非同期待機?
新しい async await 機能を、エンティティ モデルにインポートされたストアド プロシージャ/関数のインポートに適用したいのですが、EF6 アルファではまだできていません。
EF6 alpha2 (または 20211 のナイトリー ビルド) で、複合型のコレクションを返すエンティティ関数インポート (SQL ストアド プロシージャを呼び出す) で新しい非同期メソッドを呼び出すことはまだ可能ですか? 例えば
「ToListAsync」、または新しい非同期変更メソッドのいずれも、上記のエンティティ ストアド プロシージャ/関数のインポートでは使用できないようです。標準の「ToList」または「AsNumerable」などのメソッドのみが利用可能です。
私はこれ(http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6)に従って、コードがEF5ではなく新しいEF6 dllを参照していることを確認し、さまざまなものを使用して更新しましたステートメント。上記を除いて、すべてが正しくビルドされます。(.NET フレームワーク 4.5)
非同期メソッドを確認できるのは、DB からストアド プロシージャをインポートするだけでなく、テーブルもインポートする場合だけです。次に、上記のようにエンティティ コンテキスト (context.SomeTable) を介してそのテーブルを参照すると、いくつかの非同期メソッドが表示されます。インテリセンスに登場。
データを JSON として返す前に、複数のストアド プロシージャで新しい async await 機能を使い始めたいと思っていますが、これまでのところ機能させることができませんでした。
私は何か間違ったことをしていますか?エンティティのストアド プロシージャ/関数のインポートでは非同期機能を使用できませんか? アドバイスありがとうございます。
ef-code-first - コードの移行を伴うダブル テーブル
バックオフィスとフロントエンドの 2 つの部分で構成される大きなデータベースがあります。バックオフィスの部分はプロジェクトごとに変更されることはないため、ビジネスとデータのための独自のアセンブリがあります。
データ層には独自のコード移行がありDbContext
、BackofficeContext
. スキーマはBackoffice
フロントエンドも同じ構造で、独自のデータ層、独自のコード移行、およびDbContext
呼び出されFrontendContext
た . これはスキーマが異なりますFrontend
。
データベースでは、バックオフィスとフロントエンドに関連するテーブルが明確に分離されていることがわかります。これは私が望んでいるものです。
問題は 1 つだけです。の 1 つのテーブルにはFrontendContext
、 へのフィールドが含まれていますBackofficeContext
。
ユーザ テーブルは にありBackofficeContext
、UserChoises
テーブルは にありFrontendContext
ます。
のコード移行を実行するBackofficeContext
と、 のテーブルが作成されますUsers
。のコード移行を実行するFrontendContext
と、テーブルが作成されますが、UserChoises
テーブルも再度作成されUsers
ます。
このテーブルは移行ファイルから手動で削除できますが、新しい移行を行うたびに戻ってきます。
FrontendContext
を認識させる方法はありBackofficeContext
ますか?
entity-framework - EntityFramework 6.0.0-alpha3-EdmxWriter.WriteEdmx()は、alpha2からalpha3に更新した後に失敗します
次の拡張機能はEF6alpha2で機能しますが、null参照例外を使用してalpha3での機能を停止しました。失敗するステートメントはEdmxWriter.WriteEdmx(..)です
ビューの事前生成は、コードファーストのコンテキストで実行されます。
EF6 alpha3を使用して事前生成ビューを実現するにはどうすればよいですか?
スタックトレースは次のとおりです。
NullReferenceException
- で:System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.VisitEdmAssociationSet(AssociationSet item)
- at:System.Data.Entity.Edm.EdmModelVisitor.VisitCollection [T](IEnumerable
1 collection, Action
1 visitMethod) - at:System.Data.Entity.Edm.EdmModelVisitor.VisitAssociationSets(EntityContainer container、IEnumerable`1associationSets)
- で:System.Data.Entity.Edm.EdmModelVisitor.VisitEdmEntityContainer(EntityContainer item)
- で:System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.VisitEdmEntityContainer(EntityContainer item)
- at:System.Data.Entity.Edm.EdmModelVisitor.VisitCollection [T](IEnumerable
1 collection, Action
1 visitMethod) - で:System.Data.Entity.Edm.EdmModelVisitor.VisitEntityContainers(IEnumerable`1 entityContainers)
- で:System.Data.Entity.Edm.EdmModelVisitor.VisitEdmModel(EdmModel item)
- で:System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.Visit(EdmModel edmModel、文字列namespaceName、文字列プロバイダー、文字列providerManifestToken)
- で:System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.Visit(EdmModel edmModel、文字列プロバイダー、文字列プロバイダーManifestToken)
- at:System.Data.Entity.Edm.Serialization.SsdlSerializer.Serialize(EdmModel dbDatabase、文字列プロバイダー、文字列プロバイダーManifestToken、XmlWriter xmlWriter、ブール値serializeDefaultNullability)
- で:System.Data.Entity.ModelConfiguration.Edm.Serialization.EdmxSerializer.WriteEdmxRuntime()
- で:System.Data.Entity.ModelConfiguration.Edm.Serialization.EdmxSerializer.Serialize(DbDatabaseMapping databaseMapping、DbProviderInfo ProviderInfo、XmlWriter xmlWriter)
- で:System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbModelモデル、XmlWriterライター)
- で:System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContextコンテキスト、XmlWriterライター)
- で:** .DbContextPreGenerateViewExtension.GetEdmx(DbContext dbContext)
ありがとう!
entity-framework - EF 6alpha3コードファーストを使用したSQLAzureへのデプロイでエラーが発生し、移行によって__MigrationHistoryテーブルが作成されました
最初にEF6alpha3コードを使用しています。Update-Databaseコマンドを実行してSQLAzureでデータベースを作成しようとすると、次のエラーが発生します。
クラスタ化インデックスのないテーブルは、このバージョンのSQLServerではサポートされていません。クラスタ化されたインデックスを作成して、再試行してください。
エラーを__MigrationHistoryテーブル作成SQLコマンドまで追跡しました。
誰かがこの問題を回避する方法について何か考えがありますか?
ありがとう、