問題タブ [devforce]
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.
c# - 分離された DevForce エンティティの元の値をクリアする方法
呼び出しの一部として特定のエンティティをサーバーに送信するときに、さまざまなStackOverflowException
andが発生しています。この問題は、DevForce が予想よりも多くのデータをシリアル化しようとするために発生したようです。に保存されているデータまで追跡しました。OutOfMemoryException
InvokeServerMethod
OriginalValuesMap
元の値はDataEntityProperties
、エンティティに追加したものですが、 でマークされて[DataMember]
いないため、通常はサーバーに送信されません。 しかし、既存の (以前に保存されたエンティティ)があり、それらのプロパティの 1 つを変更すると、プロパティの初期値はOriginalValuesMap
. 元の値が巨大なエンティティ グラフを持つエンティティであることが判明するため、これは大きな問題を引き起こしています。
問題に加えて、私たちが扱っているエンティティは、実際に((ICloneable)origEntity).Clone()
は既存の (以前に保存された) エンティティの ( による) クローンであるため、切り離された状態になり、OriginalValuesMap
切り離されたエンティティの をクリアする方法が見つかりませんでした。通常はそうしますmyEntity.EntityAspect.AcceptChanges()
が、切り離されたエンティティには何もしません。これを行う簡単な方法が他に見つかりませんでした。
これまでのところ、元の値をクリアする唯一の方法は、エンティティをエンティティ マネージャーにアタッチすることです。これは元の値をクリアすることになりますが、実際には多数のエンティティを扱っているため(パフォーマンスが懸念されます)、これらのエンティティの多くは一意の主キー値を持っていないため(実際には、実際に保存する予定のない「メモリ内」オブジェクトであるため、キー値が入力されていないため、エンティティに追加するときに「重複キー例外」エラーを回避するために追加の作業を行う必要がありますマネジャー。
切り離されたエンティティの元の値をクリアできる他の方法はありますか? それとも、AcceptChanges のようなものが切り離されたエンティティに対しても機能しない場合、切り離されたエンティティは最初から元の値を追跡する必要がありますか? それとも、複製されたエンティティは、そのソースの元の値を「継承」してはならないのでしょうか? 私はこれらの可能性のどちらについても強い意見を持っていません...エンティティをシリアル化できるようにしたいだけです。
私たちのアプリは、DevForce 2012 v7.2.4.0 を実行する Silverlight クライアントです。
linq-to-entities - 個別の結合 - SQL を Linq クエリに変換する
SQLクエリを機能するlinqステートメントに変換しようとしていますが、残念ながら期待ほど簡単ではありません。
元の SQL クエリは次のようになります。
後でより多くの結合があり、後で述語ビルダーを構築しますが、このページでは 2 つだけ含めました。
変換してみました。私は devforce エンティティ マネージャーを使用していますが、残念ながら機能していません。
誰か助けてくれませんか?
c# - DevForce 2012 の DateTime のデフォルト値
今日のデフォルト値を取得している System.DateTime CreatedDate メンバーを持つエンティティがあります (時間コンポーネントなし)。また、Today の Date 値がキャッシュされ、アプリケーションが開始された日付になります。通常、プロセスを再起動しても問題はありませんが、長時間実行されている Windows サービスで使用すると、この Date 値が古くなります。
例:
私のEDMXから
コード内
new を呼び出す直前に、コンピューターの時計を明日に手動で設定して、これを確認しました。
これは文書化されて予想されるものですか、それともパッチはありますか、それとも新たに発見されたバグですか?
visual-studio-2012 - DevForce VS 拡張 DLL が見つからない
Visual Studio の [NuGet パッケージの管理] ダイアログを使用して、DevForce を 7.2.3 から 7.2.4 に更新しました。コード生成テンプレートをカスタマイズしたので、IdeaBlade.EntityModel.Edm.Metadata.dll、IdeaBlade.VisualStudio.DTE.dll、および IdeaBlade.VisualStudio.OM.CodeGenerator.EF6.dll をよりアクセスしやすい場所にコピーします。通常、これらの DLL は次のディレクトリにあります。
C:\Users\MyUser\AppData\Local\Microsoft\VisualStudio\12.0\Extensions
ただし、今回は、これらの DLL を使用してこのディレクトリにフォルダーは作成されませんでした。Visual Studio を再起動しました。アップグレードを取り消して、もう一度試しました。packages\IdeaBlade.DevForce.Core.7.2.4\tools にある setup.exe を実行してみました。これらのファイルは現在別の場所に配置されていますか? 手順がありませんか?
.net - DevForce Ideablade 2010 が tt ファイルを再生成していません。ランタイム エラーは、バージョンの不一致の可能性を示します
DevForce IdeaBlade 2010 バージョン 6.1.15.0 を使用していた Silverlight アプリケーションがあります。私はこれを最新バージョンにアップグレードしましたが、現時点で対処するには破壊的変更が多すぎることがわかり、ターゲット バージョンとしてバージョン 6.1.16.1 に落ち着きました。私の参照はすべて正しいように見えますが、実行時に次のエラーが発生します。
型が見つかりません: System.Linq.IQueryable 1[[[[System.String, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Nullable
1[[System.DateTime, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e ],[System.String, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], (省略) 、バージョン = 1.0.0.0、カルチャ = ニュートラル、PublicKeyToken = null]]、System.Core、バージョン = 5.0.5.0、カルチャ = ニュートラル、PublicKeyToken = 7cec85d7bea7798e。この型を保持するアセンブリが bin/exe フォルダーで利用可能であることを確認してください。また、クライアントとサーバーの両方で、アセンブリと DevForce アセンブリの両方に予期されるバージョン番号があることを確認してください。
これは、追跡できないように見えるバージョンの不一致がある可能性があることを暗示しているようです。tt ファイルを削除し、edmx モデルに偽の変更を加えて再保存するという提案を見つけました。この時点で、tt ファイルは再生成されるはずですが、そうではありません。
助言がありますか?
私の環境の詳細は次のとおりです。
DevForce IdeaBlade 2010 バージョン 6.1.16.1
シルバーライト 5
.NET 4.0
ビジュアル スタジオ 2013
プリズム 2.0.1.0
silverlight - DevForce Config で GZIP をオフにする
複数のデータベースに接続するデータ ソース拡張機能を使用して IIS 7 に展開された Silverlight 5 アプリがあります。「GZIP ストリームで CRC32 が正しくありません」という例外が発生しているため、GZIP バインディングをバイナリ メッセージ バインディングに置き換え、IIS 圧縮を使用するようにというアドバイスに従うことにしました 。
しかし、web.config に何かが欠けているに違いありません。gzipMessageEncoding ノードを binaryMessageEncoding に置き換えたところ、次のようになりました。
アプリケーションが EntityService.svc/sl と通信しようとしたとき。
これは、http: //drc.ideablade.com/devforce-2012/bin/view/Documentation/code-sample-configuration-files のIIS 関連ファイルのサンプル web.config に基づいた私の web.configです。
私は何を間違っていますか?
devforce - DevForce 2012 でコード 'BeginCheckpoint/RollbackCheckPoint/CommitCheckPoint' を移行する方法は?
アプリケーションを DevForce Classic から 2012 に移行しようとしています。古いコードでは、親ウィンドウと子ウィンドウの両方にデータを一緒に保存しようとすると (親ウィンドウのボタンをクリックすると子ビューが表示されます)、PersistenceManager.BeginCheckpoint() が呼び出されます。子ウィンドウが表示され、ユーザーが [OK]/[キャンセル] ボタンをクリックすると、RollbackCheckPoint/CommitCheckPoint が呼び出されます。EntityManager には機能がないようです。同様の機能は DevForce 2012 でサポートされていますか?
ありがとう
devforce - 新しく添付された RelatedEntityList を照会する方法コミットする前に
アプリケーションのユーザーは、オブジェクト グラフを追加、削除、および変更できます。
私は、Cocktail の UnitOfWork を使用して、変更されたエンティティを収集し、「BusinessProcess」を開始して、オブジェクト グラフ内の特定のエントリをチェックしています。
たとえば、ユーザーが Person.Department にエントリを追加したかどうかを確認したいとします。ここで、Department は Person の RelatedEntityList です。
ユーザーは Person.Department に部門を追加しました。私は Linq を使用して、「管理者」という特別な部門がある天気をチェックしています。
私のLinqクエリは次のようになります。
var adminDepartement = person.Departement.Where(x=>x.Name.Equals("管理者")).FirstOrDefault();
部門がすでに存在する場合、このクエリはうまく機能します。しかし、ユーザーがこのセッションで部門を追加したばかりの場合、RelatedEntityList から null が返されます。
新しく追加されたエントリを Linq 経由で検索するトリックはありますか?
または、EntityManager を直接操作する必要がありますか?
2 回目の保存では、Linq クエリは adminDepartement を正しく返しますが、ユーザーが保存する前にこの検証が必要です。
sql-server - DevForce Classic であり、SQL Time データ型がサポートされています
SQL で time データ型を使い始める前に、それが Ideablade DevForce Classic v3.8.5.0 と互換性があることを確認したかったのです。
これは古い製品ですが、しばらく時間が経過しているため (しゃれが意図されています)、サポートされていると思います。マッパーでは、ソース データ型とデータ型の両方が文字列として表示されていることに気付きました。
ありがとう!
entity-framework-6.1 - 不変名 'Devart.Data.Oracle' を持つ ADO.NET プロバイダーの Entity Framework プロバイダーが見つかりません
Devforce 7.2.4、Devart - dotConnect for Oracle 8.4.313、Entity Framework 6.1.2 を使用しています。
model.edmx で DevForceEnabled プロパティを true に設定すると、そのエラーが発生しました
しかし、私はリンクを見つけました= http://blog.devart.com/entity-framework-6-support-for-oracle-mysql-postgresql-sqlite-and-salesforce.html
web.config コード
Devforce と Devart はまだ連携しているか、それとも私が何か不足しているのか?