1

私はEntity Frameworkを使用しています。次のエンティティがあります。

public class Articolo
{
    ..
    public virtual ICollection<Fornitore> Fornitori { get; set; }
}

public class Fornitore
{
  ...
   public virtual ICollection<Articoli> Articoli { get; set; }    }

次のコード:

List<Fornitore> result = new List<Fornitore>();
var r = zefiroContext.Articoli.Where(p => p.Id == IdArticolo).Select(p => p.Fornitori).ToList();
result = r;

コンパイラエラーが発生します:

タイプ 'System.Collections.Generic.List < System.Collections.Generic.ICollection < prova2.Model.Fornitore>>' を 'System.Collections.Generic.List < prova2.Model.Fornitore>' に暗黙的に変換できません

どうすれば入手できますList < Fornitore >か?

4

2 に答える 2

4

実際に複数のコレクションを選択しようとしていますが、そこに問題があると思います。変更するSelectと問題SelectManyが解決する可能性がありますが、それが意図した機能であるかどうかはわかりません。個々の結果セットをすべて単一のコレクションにSelectMany凝縮し、モデル タイプのリストとモデル タイプのコレクションのリストに変換します。

var r = zefiroContext.Articoli.Where(p => p.Id == IdArticolo).SelectMany(p => p.Fornitori).ToList();
于 2012-11-05T23:18:25.153 に答える
0

各 Articolo には多くの Fornitori があります - つまり、リストのリストを取得しています...

一致するIDを持つ一致する単一のアイテムのみを取得することを意味している可能性があります...

var r = zefiroContext.Articoli.First(p => p.Id == IdArticolo).Select(p => p.Fornitori).ToList();
于 2012-11-05T23:22:52.157 に答える