0
コードの最初のアプローチでジャンクション・テーブルからデータを取得するにはどうすればよいですか。各行は、行の2つのIDを持つ匿名オブジェクトとして表現される -ジャンクション・テーブル・コードからデータを読み取る方法
Movie.Tag.Add(item)
が、これはあなたのジャンクションテーブルのすべての行を与える
コードの最初のアプローチでジャンクション・テーブルからデータを取得するにはどうすればよいですか。各行は、行の2つのIDを持つ匿名オブジェクトとして表現される -ジャンクション・テーブル・コードからデータを読み取る方法
Movie.Tag.Add(item)
が、これはあなたのジャンクションテーブルのすべての行を与える
ジャンクションテーブルにそれらのデータを取り戻す方法を知りたいですプロパティとして:あなたが特定または少数の映画に結果を制限したい場合は
var junctionTableDataList = (from m in context.Movies
from t in m.Tags
select new
{
MovieId = m.MovieId,
TagId = t.TagId
}).ToList();
あなたはselect
前where
句を追加することができます。
編集
は、拡張メソッドとラムダ式と同じでは次のようになります。あなたはあなたができる方法からのデータを返したい場合は
var junctionTableDataList = context.Movies
.SelectMany(m => m.Tags.Select(t => new
{
MovieId = m.MovieId,
TagId = t.TagId
}))
.ToList();
編集2
litteヘルパータイプを作成し、匿名オブジェクトの代わりにこれらの「名前付き」オブジェクトのリストを返します。
public class JunctionData
{
public int MovieId { get; set; }
public int TagId { get; set; }
}
List<JunctionData> junctionTableDataList
= (from m in context.Movies
from t in m.Tags
select new JunctionData
{
MovieId = m.MovieId,
TagId = t.TagId
}).ToList();
または...Select(t => new JunctionData...
拡張メソッド構文の場合。
お返事ありがとうございました – JED
私はラムダ式でこれを行いたい場合は – JED
@JED:上記の編集を参照してください。 – Slauma