これを実行しようとしていますが、FirstOrDefaultを使用できないと表示されます。
public static int GetId(this Context db, Type type, string name)
{
return db.Set(type).FirstOrDefault(x => x.Name == name).Id;
}
エラーは「System.Data.Entity.DbSet」に「FirstOrDefault」の定義が含まれておらず、タイプ「System.Data.Entity.DbSet」の最初の引数を受け入れる拡張メソッド「FirstOrDefault」が見つかりませんでした(欠落していますか?使用ディレクティブまたはアセンブリ参照?)
次に、このCast
メソッドを試しましたが、エラーが発生しました。タイプ'WindowStyle'のオブジェクトの非ジェネリックDbSetからDbSetを作成できません(btwは以下WindowStyle
から継承しDomainEntity
ます)。
var set = db.Set(type).Cast<DomainEntity>();
return set.FirstOrDefault(x => x.Name == name).Id;
これがクラスです、
public class DomainEntity
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}