我正在尝试这样做,但它说我不能使用 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”(您是否缺少using 指令或程序集引用?)
然后我尝试了这种Cast
方法,但是给出了错误Cannot create a DbSet from a non-generic DbSet for objects of 'WindowStyle'(顺便说一句从下面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; }
}