2009-07-22 24 views
0

テーブルにフィールドを確認したい場合は、containsメソッドを使用してそれが存在するかどうかを確認する方法を教えてください。linq to sql "Contains"

私はちょうど方法を含む文字列を取り込み思っているだろうが、私の全体のLINQのデータオブジェクトに取るように見える

+1

すでに回答が見つからない場合は、質問を少し明確にする必要があります – jeroenh

答えて

2

Containsは、IEnumerableの拡張メソッドであり、指定されたオブジェクトが列挙可能であるかどうかを判断します。それはあなたがここで欲しいものではありません。

IEnumerable<string> productNames = from p in db.Products select p.ProductName; 

そして今、あなたはProductNameフィールドは、実際に実行時エラーを回避するために存在することを確認したい:

私はあなたがこのようなLINQクエリを持っていることを推測しています。実際にそれを確認する必要はありません。 p.ProductNameを存在しないフィールドで置き換えてください。コンパイラは文句を言うでしょう。

もちろん、これは実際のデータベーススキーマがMSLinqToSQLGeneratorというデータベースクラスを生成するために使用されたものと一致することを前提としています。

0

わからないLINQでそれを行うにはしかし、あなたは何ができるか:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE _NAME ='MyTable' and COLUMN _NAME='MyColumn' 

クエリから返されたカウントに基づいて、列が存在するかどうかがわかります。