0
私は "製品" テーブルを持っている。これは、テグスである "テグス"LINQ - 関連データと照会表
public class Product
{
public Product()
{
Tegs = new List<Teg>();
}
[Key]
public int Id { get; set; }
public string ProductName { get; set; }
public virtual ICollection<Teg> Tegs { get; set; }
public virtual ICollection<Product> RelatedProducts { get; set; }
}
に関連しています
製品考えるpublic class Teg
{
public Teg()
{
}
public int Id { get; set; }
public string TegName { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
}
ID、LINQを使用して、私は選択された製品として少なくとも1つのtegを持つすべての製品を取得したいと思います。
私はこのコードを使用しています:
Product product = db.Product.Include(u => u.Tegs).Where(u => u.Id == id).Single();
List<int> tegid = product.Tegs.Select(c => c.Id).ToList();
IEnumerable<Product> relatedProducts = db.Product.Include(u => u.Tegs).Where(p => p.Tegs.Any(t => tegid.Contains(t.Id)));
質問1: 私はIDとrelatedProductsから製品を除外することができますどのように?
質問2: relatedProductsのLinqクエリ内でリストをネストする方法はありますか?