1

ここでいくつかの基本的な概念を理解するのに問題があります...私は複雑なデータベースを管理するためのプロジェクトの作成に取り組んでいます(ms-sql 2012およびWPFにあるデータベースのエンティティにlinqを使用しています) 2つの主な問題:

データベースから大量のテーブルを編集(更新を削除して挿入)するための汎用ビューを作成したいのですが、テーブルのリストを手動で作成するのに問題はありませんが、その後、汎用的な方法でそれを管理するにはどうすればよいですか?エンティティへのlinqは、次のようなことを許可しません:

string tableName = listbox.selectedItem.value;
var a = from p in db.tables[tableName] select p;

テーブルごとにこれらすべてを手動で作成したとしても、情報を編集するUIを作成するにはどうすればよいですか?各列のテキストボックスや日時ピッカーなどの項目を含む編集用のフォーム/ビュー/ユーザーコントロールを動的に作成する必要があります...しかし、テーブルの一般的な選択を行うことはできません...

私が抱えているもう1つの問題は、データの操作です。たとえば、データベースにTASKテーブルがあるとします。

var tsks = from p in TASKs select new {p.task_id, p.task_description, p.task_date}

そして、すべてをグリッドビューにロードしたいのですが、task_date列の代わりに、関数から操作する必要があります。たとえば、次のようになります。

02/12/2012 will show "From Today"
30/11/2012 will show "From 2 days ago"

この種の関数をデータバインディングに接続する方法がわかりません。SQL関数を作成しようとしました。コードで関数を呼び出してエンティティの拡張関数を作成しようとしましたが、常にスタックして失敗しました。

明確にするために、私は.net techでいくつかの素晴らしい経験を持っていますが、WPFとLINQは私にとって新しいものであり、linqなしでSQL DBに直接接続することで、asp.netまたはWindowsフォームアプリケーションで上記のすべてを簡単に作成できます。私はいくつかの基本的な理解に問題があり、私の2つの質問に対する答えを得ることができ、関連するチュートリアルへの道順を喜んで得ることができます

4

1 に答える 1

1

2番目の質問に答えようとします。最初に WPF と MVVM デザイン パターンのバインドについて少し読むことをお勧めします。これは、WPF のデータグリッドの使用方法を理解するのに役立ちます。これは、win フォームとは異なる動作をします。

質問に答えるには、日付プロパティを列にバインドした後、値コンバーターを簡単に作成できます。この例を参照してください: http://wpftutorial.net/ValueConverters.html

あなたの場合、DateTimeから文字列へのコンバーターが必要です

于 2012-12-02T13:42:18.653 に答える