Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework Linq到实体错误无法创建常量值_Entity Framework - Fatal编程技术网

Entity framework Linq到实体错误无法创建常量值

Entity framework Linq到实体错误无法创建常量值,entity-framework,Entity Framework,我有一个传递字符串的函数,然后使用linq to entity检查我传递的字符串值是否已经存在于数据库中。为此,我编写了这个函数 public static bool UserExistChk(String StrUserId) { using (SBVEntities dbcontx = new SBVEntities()) { return dbcontx.Users.Contains(dbcontx.Us

我有一个传递字符串的函数,然后使用linq to entity检查我传递的字符串值是否已经存在于数据库中。为此,我编写了这个函数

    public static bool UserExistChk(String StrUserId) {
            using (SBVEntities dbcontx = new SBVEntities())
           {
                return dbcontx.Users.Contains(dbcontx.Users.FirstOrDefault(e => e.UserID == StrUserId));

           }
    }
但我得到一个错误——无法创建“MySBVApp.Models.User”类型的常量值。在此上下文中仅支持基本类型(“如Int32、String和Guid”)


请帮助我了解实体框架和linq。

应该是这样的

           using (SBVEntities dbcontx = new SBVEntities())
           {
              return (dbcontx.Users
                             .FirstOrDefault(e => e.UserID == StrUserId) != null 
                             ? true : false); 
           }
您可以使用:

public static bool UserExistChk(String StrUserId) 
{
    using (SBVEntities dbcontx = new SBVEntities())
    {
        var query = from u in dbcontx.Users
                    where u.UserId.Contains(strUserId)
                    select u;
    }
    Return query.Count > 0
}

您可以使用
Any
扩展方法:

public static bool UserExistChk(String StrUserId)
{
  using ( SBVEntities db = new SBVEntities() )
  {
    return db.Users.Any( o => o.UserID == StrUserId );
  }
}

感谢spajce,但它不会返回bool值,我必须检查null,然后相应地返回bool值。非常感谢spajce,但我正在寻找类似包含该bool值的内容。(简而言之,我试图避免你编辑的这段额外代码。)不管怎样,它工作了,解决了我的问题,再次感谢。是的,这就是我想要的。。非常感谢Nicholas Butler.@Yagnesh.Dixit不客气:)这里有一些示例可能会帮助您实现LINQ到对象和LINQ到实体-谷歌“101 LINQ示例”