无法创建类型为的常量值.在此上下文中仅支持基元类型或枚举类型

本文关键字:类型 支持 枚举 上下文 创建 常量 | 更新日期: 2023-09-27 18:26:49

我有下面的方法来检查是否存在,

public virtual bool CheckExist(T entity)
{
    var context = new eTRdataEntities();
    IQueryable<T> dbQuery = context.Set<T>();
    if (dbQuery.Any(e => e == entity))
    {
        return true;
    }
    return false;
 }

然而,它返回异常:

无法创建类型为的常量值。在此上下文中仅支持基元类型或枚举类型。

,请提供建议

非常感谢,

无法创建类型为的常量值.在此上下文中仅支持基元类型或枚举类型

尝试通过在方法名称旁边输入类型T来更改代码,如下所示:

public virtual bool CheckExist<T>(T entity)
{
    var context = new eTRIKSdataEntities();
    IQueryable<T> dbQuery = context.Set<T>();
    if (dbQuery.Any(e => e == entity))
    {
        return true;
    }
    return false;
}

您可能还想将类型限制为仅类,如下所示:

public virtual bool CheckExist<T>(T entity) where T : class
{
    var context = new eTRIKSdataEntities();
    IQueryable<T> dbQuery = context.Set<T>();
    if (dbQuery.Any(e => e == entity))
    {
        return true;
    }
    return false;
}