c# - DbSet.FirstOrDefault()?

标签 c# entity-framework entity-framework-4.1 dbcontext

我正在尝试这样做,但它说我不能使用 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/

相关文章:

mysql - 在 MySQL 中编写与 UUID 列匹配的查询的正确方法是什么?

entity-framework - VS2012 中针对 .NET 4.0 的 System.Data.SQLite 设计时组件

entity-framework-4.1 - EF 4.1 Code First 数据库初始化 System.NullReferenceException 加载数据

c# - 忽略 BinaryFormatter 序列化中的非序列化属性

c# - 如何在 C# 中短路 'or' 赋值?

c# - 如何将两个 Entity Framework 调用合并为一个?

entity-framework - 检查 EF4.1 中是否存在多对多关系的有效方法

entity-framework-4 - Entity Framework 代码优先集合映射 - FriendRequests

c# - 无法将 postgresql 间隔转换为 C# TimeSpan

c# - EF Core 2.1 对自有类型有何更改?