2017-06-10 8 views
0

私は、ICollection of Imagesを持つクラスを持っています。私は、データベースから単一の画像のみを持参する必要があります。Linq To Entity MVC

するvarオブジェクト= db.Context.Where(L => l.Name == "ジョン" & & l.Images == l.Images.Single())

上記のクエリが正しくありません。誰かが画像のICollectionから単一の画像だけを返す方法を助けることができますか?私はあなたのクラスの構造のわからないんだけど、おそらくこのような何か

おかげ

答えて

0


var object = db.Context.FirstOrDefault(l => l.Name == "John");
または
var object = db.Context.FirstOrDefault(l => l.Name == "John").Images.FirstOrDefault();

+0

私のクラスでは、このようなものです。まず、フィルタアクションでは、クラスから画像のみを選択して新しいオブジェクトを作成し、次にパラメータに基づいてフィルタ処理を行っています。また、私はコンテンツ、ファイル名を持つクラス画像があります。どこでFirstorDefaultを適用する必要がありますか?新しいオブジェクトの作成中またはフィルタリング中ありがとう –

0

私は、これは何が必要だと思います:

var object=db.Context.Where(l=>l.Name=="John").FirstOrDefault(); 

FirstOrDefaultはゼロ以上の結果を期待しており、結果の最初の項目のみが必要です。

+0

ありがとう。私はしようとします –

+0

私はあなたのコードは、私に最初またはデフォルトのアイテムを与えるだろうと思う。私のクラスは次のとおりです:public class { public Name username {get; set;} public virtual ICollection Image {get; set;} }、私はコンテンツタイプとファイル名を持つImagesというクラスを持っています。私のフィルタアクションでは、まずImageのpublic仮想ICollectionプロパティだけを選択して新しいオブジェクトを作成しています。しかし、私は新しいオブジェクトの作成またはコントローラのパラメータに基づいてフィルタリングを開始するWHERE節で単一のImageを返すようにします。ありがとう –

0

あなたが次のコードを試みることができる:パブリッククラス{;セット;}パブリック仮想ICollectionを 画像{を取得または設定します;}パブリック文字列の名前{取得}:

var singleImage=db.Context.Where(n=>n.Name=="John").Select(m=>m.Images).FirstOrDefault(); 
+0

ありがとう。やってみます –

関連する問題