0

データベースに情報を格納するモデル クラスがあります。次に、リスト テストを作成しました。このリストは xml データを取得し、それをリストに入れます。

私のコントローラーでは、

私はこのlinqクエリを持っています:

function somefunction()
{
    var mov = from m in db.Movies
                          select m;
    List<Movie> items = MyXMLExtract();//this gets xml file from a url, then returns a list<Movie>.
    var thistest = mov.ToList().Concat(items);; //I concatenate the two linq

    return thistest;
}

私の見解では、これがあります:

@model IEnumerable<Models.Movie>

ただし、このビューのすべてでエラーが発生します。

タイプ 'Models.Movie' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。

エラーの内容は理解できましたが、どのように対処すればよいでしょうか? 基本的に私はリストを返しています、そして私はIenumerable何をすべきか? foreach私のビューは、フィールド名を出力する単なるループです。

映画とアイテムの両方が、映画の同じデータベース モデルを使用します。

これは私にエラーを与えます:

オブジェクト参照がオブジェクト インスタンスに設定されていません。

if (!String.IsNullOrEmpty(searchString))
{
    thistest = thistest.Where(s => s.description.Contains(searchString)
                                || s.title.Contains(searchString)
                                || s.location.Contains(searchString));
}
4

1 に答える 1

1

LINQ は、List 項目を DB に渡して、SQL Server 側で連結しようとします。

変更 mov.Concat(items); mov.ToList().Concat(items) を使用して、連結前に SQL からデータを取得します。

于 2013-10-01T17:43:27.670 に答える