問題タブ [edmgen]
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.
mysql - MySQLを使用したEntityFramework-モデルの生成中にタイムアウトが期限切れになりました
MySQLでデータベースを構築し、Entity Frameworkを使用してデータベースをマップしようとしていますが、EFコンテキストに約20を超えるテーブルを追加しようとすると、「GenerateSSDLException」が発生し始めます。
データベースからの更新中に、タイプ'Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelBuilderEngine+GenerateSSDLException'の例外が発生しました。例外メッセージは次のとおりです。'コマンド定義の実行中にエラーが発生しました。詳細については、内部例外を参照してください。
コマンドの実行中に致命的なエラーが発生しました。
タイムアウトが期限切れになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
影響を受けるテーブルについて特別なことは何もありません。同じテーブルになることはありません。特定の(特定されていない)数のテーブルが追加された後、「Timeoutexpired」エラーなしでコンテキストを更新できなくなります。テーブルが1つだけ残っている場合もあれば、3つ残っている場合もあります。結果はかなり予測不可能です。さらに、エラーの前に追加できるテーブル数の差異は、おそらく問題は、既存のテーブル定義と新しいテーブルの両方を含むコンテキストを更新するために生成されるクエリのサイズにあることを示しています。それに追加されています。基本的に、SQLクエリが大きくなりすぎて、何らかの理由で実行に失敗しています。
EdmGen2を使用してモデルを生成すると、エラーは発生しませんが、生成されたEDMXファイルは、前述の例外を生成せずにVisualStudio内で更新できません。
EdmGen2が正常に動作することを考えると、おそらくこの問題の原因はVisual Studio内のツールにありますが、私はそうではないように思われるため、この非常にユニークな問題に取り組む方法について他の人がアドバイスを提供してくれることを期待しています。それを経験している唯一の人。
同僚が提案した提案の1つは、テーブルのクロスオーバーを使用して2つの別々のEBMXファイルを維持することでしたが、私の意見ではかなり醜い修正のようです。これが「新技術」を使おうとして得たものだと思います。:(
entity-framework - .NET EntityStoreSchemaFilterEntry フィルター パターン
SO への最初の質問です。これが正しく行われていることを願っています。;)
System.Data.Entity.Design.EntityStoreSchemaFilterEntry について:
このクラスに関する詳細なドキュメントを探しています。MSDN のドキュメントには、存在するプロパティとそのデータ型が示されているだけです。明確に定義されたフィルターのリストを作成したい
具体的には:
- Allow エントリだけが返されるように、Allow の前にすべての Exclude を設定する必要がありますか?
- いずれかのパラメーターで null を使用すると、どのような結果になりますか? 空の文字列 "" はどうですか? これに関するコメントは矛盾しているようで、私の経験とその使用法が一致していません。
- 適切な「すべて」のワイルドカードは単純な「%」ですか?
私の目標は、すべてのテーブル、ビュー、およびフィルターを除外し、必要なものだけを許可することです。これを行おうとすると、エンティティのない edmx ファイルが得られます。私の Exclude All は、含めようとしたすべてのテーブルよりも優先されるようです。不要なテーブルを除外しようとしないと、許可したテーブルとデータベース内の他のすべてのテーブルが取得され、フィルタリングが役に立たなくなります。
参考までに、フィルターの適切なワイルドカード パターンに関する唯一の情報は、http: //msdn.microsoft.com/en-us/library/ms710171 (VS.85).aspx です。
私は EdmGen をはるかに超えており、EdmGen2 のバグと制限に注意しており、現在、大幅に拡張された EdmGen2 ベースで必要なことを達成しようとしています。
ありがとう!
このトピックに関する検索を支援する関連キーワード:
c# - System.Diagnostics.ProcessによってEFモデルを生成します
この記事を読んだ後、System.Diagnostics.ProcessによってEFモデルを生成しようとしました。
しかし、整形式の引数文字列を実行できないため、結果が得られません。私が試したように、多くの引用があります。引数文字列を整理する方法は?
c# - edmgenツールによってEntityFrameworkモデルのobjectLayerのみを生成します
csdl、ssdl、ビューを生成せずに、edmgenツールでobjectLayerのみを生成するにはどうすればよいですか?
"%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ edmgen.exe" / mode:fullgeneration / c: "DataSource=。\sqlexpress;Initial Catalog = uqs; Integrated Security = SSPI" / project:generateEntityModel / entitycontainer :uqsEntities / namespace:uqsModel / language:CSharp / outobjectlayer: "D:/uqsObjectLayer.cs"
このスクリプトでは、csdl、ssdl、およびビューを書き込む場所を記述していませんが、Windows VistaのC:\ Users \ adminUserに生成され、objectLayerはD:/uqsObjectLayer.csに生成されます。/ mode:EntityClassGenerationを使用する場合、this option requires the /incsdl argument and either the /project argument or the /outobjectlayer argument. The /language argument is optional.
しかし、私はcsdlファイルを使用したくありません。私が理解しているように、edmgen.toolはcsdlファイルなしではobjectlayerを作成できません。dbからオブジェクトレイヤーを生成するための代替方法またはツールはありますか?
c# - Process.Start() edmgen
asp.net アプリケーションのボタンをクリックした後、process.start()は引数を指定して edmgen ツールを実行します。そして、私はエラーをキャッチします:
これを修正する方法は?
postgresql - EdmGen2 で生成された edmx を .NET 4.0 を使用して VS10 で表示できない
Postgresql データベースからエンティティ モデルを生成しようとしています。.net 3.5 および vs2008 では問題なく動作しました。残念ながら、vs10 ではそうではありません。エラーが発生します:
「ファイルは、プロジェクトのターゲット フレームワークと矛盾する XML 名前空間を参照しています。」
EF4 が v1 ではなく EDMX v2 を使用しているためだと思いますが、EdmGen2 の RetrofitModel パラメーターを使用して変更することはできません (ModelGen で使用可能な同様のパラメーターがありますが、RetrofitModel では使用できません)。xml でバージョンと参照を手動で変更しようとしましたが、デザイナーで edmx ファイルを表示できましたが、空でした。
質問
Postgresql データベースから VS10 用の EF4 設計ファイルを生成するには?
c# - edmgen ツールによるエンティティ フレームワーク クラスの生成後にエラーが発生しました
最初にこの質問を読みましたが、この知識は私の問題を解決するのに役立ちませんでした.
最初に、Visual Studio で edmx ファイルを作成しました。名前付きの生成されたファイル:
- uqsModel.Designer.cs
- uqsModel.edmx
このファイルは App_Code フォルダーにあります。
そして、私のWebアプリは正常に動作します。Web Config では、接続文字列が自動的に生成されます。
次に、インストゥルメントedmgen ツール(完全生成モード) でクラスを生成する必要がありました。次の名前で生成された新しいファイル:
- uqsModel.cs
- uqsModel.csdl
- uqsModel.msl
- uqsModel.ssdl
- uqsViews.cs
以前にedmxファイルがあったフォルダーに新しいクラスを保存し、既存のedmxファイルを削除します。また、ページが任意の Web ページにリダイレクトされると、サーバー側のコードが失敗します。問題:指定されたメタデータ リソースを読み込めません。
何かアイデアをください。
linq-to-entities - edmgen.exeを使用するときにストアドプロシージャを含めることはできますか?
edmxファイルを生成するために使用するスクリプトがいくつかあります(edmgenとedmgen2を使用)。
ストアドプロシージャを含める方法はありますか?または、これにはGUIデザイナーを使用する必要がありますか?
entity-framework - EdmGenを使用してssdlとcsdlを生成しますが、コードは生成しませんか?
大規模なEntityFramework4.0 edmxを使用しており、edmxの構築を自動化する必要があります。ただし、カスタマイズされたT4テンプレートを使用する機能を維持する必要があります。
edmxでは、コード生成がNoneに設定されているため、edmxに対して複数のT4テンプレートを使用できます。EdmGenを使用してビルドすると、デフォルトのテンプレートを使用してコードが生成されます。
EdmGen2を試してみましたが、T4テンプレートを使用できるようにカスタマイズできましたが、.edmxプロパティを明示的に設定しても、コレクション名を正しく複数形にすることはできませんでした。
EdmGenまたはEdmGen2をこの状況で機能させるための助けをいただければ幸いです。
c# - edmgen を使用したエンティティ クラスの生成
edmx
エンティティ エンティティ フレームワーク モデルを使用して作成されたファイルがあります。
edmx で何らかの変更を加えるたびに (エンティティから列を削除するなど)、エンティティ クラス ( ) を生成したいと考えていますDesigner.cs
。edmxファイルを右クリックしてカスタムツールを実行することでこれを実行できることを知っています
edmgen ツールを使用してこれを実行したかったのです。ただし、edmgen ツールには msdl ファイルと csdl ファイルが必要です。しかし、edmx ファイルにすべてのコンテンツがあります。
edmgen コマンドに edmx ファイルを指定する方法はありますか。