0

こんにちは私はいくつかの値(ID)を持つテーブルを持っています、そしてもちろん私が結果を得るとき私はint IDだけを手に入れました、しかし私はそれをもっとユーザーフレンドリーにしたいです、例えばその数が1のとき、私は置きたいです文字列「Avaible」、その2つの「Notavaible」がN層環境にあり、モデルでこれを実行する必要がある場合、これを実現するための最良の方法は何ですか。文字列を投影するために別のクラスを宣言する必要があります。または、辞書のようなものを使用する必要があります、キー->値。

今私はこれを持っています

return from t in db.products where t.productID==productID select t;
4

1 に答える 1

1

Linq to SQL を使用している場合は、製品ステータスを含む別のテーブルが必要です。

Table Name: Product Status
Fields:     ProductStatusID   int Indentity Primary Key
            ProductStatus     nvarchar(50)

Products テーブルにフィールドを追加します。

Field to Add:  ProductStatusID    int

新しいテーブルにいくつかのステータスを追加し、各製品の ProductStatusID を適切なステータス ID に設定します。

2 つの ProductStatusID フィールドを接続する制約を追加します。これを行う最も簡単な方法は、SQL Server Management Studio Express でダイアグラムを作成し、両方のテーブルをダイアグラムにドラッグしてから、ProductStatusID フィールドを ProductStatus テーブルから Products テーブルにドラッグし、開いたダイアログで [OK] をクリックすることです。

Linq to SQL データ クラスを再構築します。これを行うには、DBML ファイルを削除して再作成し、テーブルをデザイナに再度ドラッグします。

dataContext オブジェクトから製品オブジェクト (p) を取得すると、次のように表示されます。

p.ProductStatus   <-- The text description of the product's status.

Linq to SQL は ProductStatus テーブルに到達し、適切なステータスの説明を検索します。

于 2009-06-18T04:48:55.097 に答える