質問

HIいくつかの値(ID)を持つテーブルがあります。もちろん、結果を取得するときにint IDだけを取得しましたが、たとえば、その番号が1の場合、文字列" Avaible"を置きたいとき、その2つの" Not avaible"、imはN層環境にあり、モデルでこれを行う必要があります、これを達成するための最良の方法は、別のクラスを宣言する必要があります文字列を投影する、または辞書のようなものを使用する必要がありますキー->値。

今、私はこれを持っているだけ

return from t in db.products where t.productID==productID select t;
役に立ちましたか?

解決

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テーブルに到達し、適切なステータスの説明を検索します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top