2012-05-04 2 views
0

ストアドプロシージャから返されるNULLに問題があります。私は最初に空白にしたいが、次にユニークなストリートタイプを含むドロップダウンリストを持っている。そうすれば、ユーザーはフィールドを空白のままにしてすべての結果を返すか、入力を開始して存在する可能性のあるエントリから提案を得ることができます。Entity FrameworkのドロップダウンリストでNULLを処理するストアドプロシージャ

リストは、すべてのアドレスのメインテーブルでDISTINCTクエリを実行するストアドプロシージャから取得されるユニークなストリートタイプです。しかし、私は結果にNULLを取得し、私のドロップダウンリストは、一度それがnullに当たると結果の表示を停止するようです。

私はEntityフレームワークを使用していて、一連の文字列を返すストアドプロシージャを追加して、次のコードを使用してコンボボックスを作成しました。私がストアドプロシージャに注文を残さない場合、nullはどこかの中間にあり、結果の半分を取得します。これを注文すると、まずヌルがコンボボックスに結果を得ません。

SideSewerDAL.SideSewerEntities entities = new SideSewerDAL.SideSewerEntities(); 
comboType.DataSource = entities.GetUniqueStreetTypes(); 

これは間違っていますか?私はstoredprocでNULLを取り除かなければならず、どうにかして "ブランク"のエントリを追加するためにコンボボックスを修正する必要がありますか?またはNULLを保つが、どういうわけか、コンボボックスがチョークよりもむしろヌルを処理するようにする!ストアドプロシージャは、文字列のリストを返した場合はここでストアドプロシージャ

public ObjectResult<global::System.String> GetUniqueStreetTypes() 
    { 
     return base.ExecuteFunction<global::System.String>("GetUniqueStreetTypes"); 
    } 
+1

あなたのSPROC代わりにNULLから「」を返す場合、それは動作しますか? –

+0

データベースから結果を取得したら、そこに新しい空の項目を追加するだけです。 sprocからNULLを除いてください。 –

+0

それはマイクをします。私は次のようにストアドプロシージャを再実行する必要がありました:\t DISTINCT ISNULL(stTypeを、 '')SELECT stType \tとして、私はあなたが離れてデータベースからUIの問題を保つ示唆stType –

答えて

0

ためのコードは、あなたが、文字列のリストを作成する「」値を追加することができ、その後のSPROCから返された範囲を追加します。ヌルに対処するためとして

List<string> values = new List<string>(); 
values.Add(""); 
values.AddRange(entities.GetUniqueStreetTypes()); 
comboType.DataSource = values; 

、最善の解決策は、「stTypeがNULLでない場合、」含めるのがベストかもしれません

関連する問題