問題タブ [datacontext]
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# - DataContext テーブルまたはビューが存在するかどうかをすばやく検出する方法
現在、LINQ-to-SQL を介してさまざまなデータベースに依存する (したがって接続する) アプリケーションを開発しています。データベースの 1 つでは、接続文字列が異なる場合があり、構成可能ですが、このデータベースのスキーマはすべての接続文字列で同じです。
構成可能な接続文字列のため、アプリケーションの起動時に DataContext を検証して、アプリケーションが使用するすべてのテーブルとビューが利用可能であることを確認したいと考えています。
対応する SQL テーブルまたはビューにレコードがない場合でもTable<T>
、オブジェクト内のオブジェクトは常に初期化されます。DataContext
それで。現在、検証チェックは次のように実行されます。
これは機能しますが、valid の値の決定にはかなりの時間がかかり (各テーブルのすべてのレコードが処理されます)、最終的にタイムアウトになります。Table<T>
では、対応するデータベースに特定のDataContext
がテーブルとして実際に存在するかどうかを判断するための、より高速で信頼性の高い方法はありますか?
nhibernate - DatacontextとNhibernateセッション
私はオブジェクト指向プログラミングの初心者です。Windowsアプリケーションとモデルビュープレゼンターパターンを使用していますが、変更の追跡を利用できるようにしたいと考えています。私の質問は次のとおりです
プレゼンターは、作業ユニットのNhibernateセッションまたはLinq to Sql Datacontextを保持する必要がありますか?これは、Winformアプリを設計するための最も簡単な方法ですか?同じフォームに複数のUOWが存在する可能性がある複雑なフォームがある場合、最も簡単な方法では、それらのUOWごとにプレゼンターを配置します。
私はこの考え方で正しいですか?
linq - TimeStamp と StoredProcedures を同時に使用せずに Linq SubmitChanges を使用する
行バージョンまたはタイムスタンプなしで SQL テーブルを使用しています。ただし、テーブル内の特定の値を更新するには、Linq を使用する必要があります。Linq は更新する値を認識できないため、2 番目の DataContext を使用してデータベースから現在のオブジェクトを取得し、次のようにデータベースと実際のオブジェクトの両方を Attach メソッドの入力として使用しています。
これは機能しますが、問題があります。StoredProcedures を使用して、特定の時間に Customer の一部のフィールドを更新しています。次のワークフローを想像してください。
- データベースから顧客を取得
- 顧客フィールドを新しい値に設定する
- ストアド プロシージャを使用して別の顧客フィールドを更新する
- SaveCustomer を呼び出す
ここで、SaveCustomer メソッドは、コードで設定された値を含まないが、ストアド プロシージャによって設定された値を含む現在のオブジェクトをデータベースから取得します。これを実際のオブジェクトにアタッチしてから送信すると、コードで設定された値がデータベースでも更新され、... tadaaaa... 他の値が NULL に設定されます。ストアド プロシージャ。
それは理解できましたか?
この問題を解決するためのベスト プラクティスはありますか?
c# - LinqToSQL - 多くのテーブルで DataContext をマッピングしますか?
LinqToSQL
私は、多くのテーブルを含むプロジェクトに取り組んできました。これらすべてが 1 つのファイルにマップされ.dbml
ます (つまり、1 つのみDataContext
)。これは、(現在) 複数のデータ コンテキストにまたがって参加できないというふりをして行いました。例えば...
そうではないと誰かが主張したので、.dbml
ファイルを個別の小さな (つまり、より管理しやすい) データ コンテキストに分割する必要があります。例を設定したところ、上記と同様のクエリを実行すると、次のエラーが発生しました...
base {System.SystemException} = {"クエリには、別のデータ コンテキストで定義されたアイテムへの参照が含まれています。"}
興味があります。何か足りないものはありますか? マッピングが必要なテーブルが多数ある場合の一般的な方法は何ですか? どうすれば .dbml ファイルを分解できますか?
wpf - WPF データバインディング:「親」データコンテキストにアクセスするにはどうすればよいですか?
ウィンドウに含まれるリスト(以下を参照)があります。ウィンドウには と のDataContext
2 つのプロパティがItems
ありAllowItemCommand
ます。
ウィンドウの に対して解決する必要があるHyperlink
のプロパティのバインディングを取得するにはどうすればよいですか?Command
DataContext
silverlight - ItemsSource を「プロキシ」コレクションにバインドします。DataContext を取得するには?
正しく並べ替えられていないデータを表示する複数のリストボックスとコンボボックスを含む Silverlight アプリケーションがあり、これを修正する必要があります。それらの ItemSource プロパティのほとんどは、XAML を通じて設定されます。それらの DataContext は、コントロールに直接設定されていない可能性があり、代わりに親に設定されていました。したがって、コード ビハインドで ItemSource または DataContext の割り当てに「OrderBy」を簡単に平手打ちすることはできません。その割り当てが明示的に存在しない可能性があるためです。
そこで、「プロキシ」コレクションを作成するというアイデアがありました。プロキシ コレクションは元の ItemSource を取得し、並べ替えられたバージョンを公開します。私はこれを変換することができます:
これに:
汚すぎる格好はやめて!しかし、ProxyCollection は ListBox の子ではないため、ListBox の DataContext はそれに伝達されず、バインディングは魔法のようには機能しません。ProxyCollection コレクションの DataContext を手動で設定すると、うまく機能します。ただし、DataContext を手動で設定する必要がある場合は、プロキシ コレクションを削除し、Listbox の DataContext を手動で設定して、「OrderBy」を追加することもできます。
では、プロキシ コレクションに設定された ListBox の DataContext を自動的に取得する方法についてのアイデアはありますか? または他の天才的なアイデアはありますか?
c# - DataContext が設定されているときに検証ルールが実行されないのはなぜですか?
ウィンドウに次の Loaded イベントがあります。
上記で初期化された各プロパティに対して、TextBox
それにバインドする があり、それぞれに独自の検証ルールが関連付けられています。
問題は、私の検証ルールが初めて設定されたときに実行されていないことですが、フォームが通常どおりに使用されるとうまく機能します (フォームがフォーカスを失っthis.DataContext
たときに実行されます)。TextBox
この背後にある理由は何でしょうか? を設定してみUpdateSourceTrigger="PropertyChanged"
ましたが、うまくいきませんでした。
編集:TextBox
プロパティにバインドされている
a の例を次に示します。
wpf - WPF で DataContext をユーザー コントロールに渡す
ContentControl のコンテナーとして機能するユーザー コントロールがあります。
ユーザー コントロール コンテナーには、ContentControl に割り当てられた動的に追加されたユーザー コントロール内のコントロールを更新するために使用するリストビュー コントロールがあります。
リストビュー コントロールをスクロールすると、ContentControl に割り当てられた UC のテキスト ボックスが更新されます。
すべてが 1 つのページにある場合は問題ありませんが、動的に追加された UC に ListView をデータコンテキストとして渡すのに苦労しています。
これはどのように行うことができますか?
XAML で
コードビハインドで...
「LocationView」を PlaceHolder.Content に追加するときは、データコンテキストとして「lstIncidents」を渡す必要があるため、ListView がナビゲートされると「LocationView」のテキストボックスが更新されます。