2

次のエラー Instance 引数を受け取りました:

「System.Collections.Generic.IEnumerable」から「System.Linq.IQueryable」に変換できません

問題は、変数 Assay.assayKey がテーブルで null になる可能性があるため、int の代わりに int assayKey を使用できないことです。アッセイキー。私はこれに困惑しています、誰かが助けることができますか?? ありがとう

      Search Entry
        {

        int id {get;set;}
        int? key {get;set;}
        int[] selectedKeys {get;set;}
        }

        Assay
       {
        int id {get;set;}
        int? AssayKey { get; set; }
       }

        CollObject
        {
         Ienumerable<int> keys {get;set;}
        }

私のコントローラー アクション メソッドでは、次のようにして ID の配列を取得しています。

       SearchEntry.selectedKeys = (from assays in db.assay
                                   where CollObject.Keys.Contains(assay.AssayKey)
                                   select assays.id).toArray();

さて、私は解決策を見つけました。Assay Key は nullable int であるため、次のようにする必要がありました

.Contains(assays.AssayKey ??0)
4

1 に答える 1

3

問題は、null 許容 int で .contains を使用できないことでした。そのため、これを機能させるには、このようなことをしなければなりませんでした。

.Contains(assays.AssayKey ??0) 
于 2012-06-15T18:26:26.393 に答える