我正在尝试这样做,但它说我不能使用 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”的定义,并且没有扩展方法“FirstOrDefault”接受“System.Data.Entity”类型的第一个参数。可以找到 DbSet'(您是否缺少 using 指令或程序集引用?)
然后我尝试了这个 Cast
方法,但是它给出了一个错误Cannot create a DbSet from a non-generic DbSet for objects of type '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; }
}
最佳答案
也许你错过了
using System.Linq;
关于c# - DbSet.FirstOrDefault()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219435/