c# - 非静态方法需要一个目标

标签 c# asp.net entity-framework

private PMS_USERS currUser;
private bool validateUserName()
{
    dbContext = new PmsEntities();
    var validateUser = dbContext.PMS_USERS.Where(p=> p.LOGICALREF != currUser.LOGICALREF).Where(p=> p.USERNAME == currUser.USERNAME);
    return !validateUser.Any();
}

您好, 我在验证新用户注册表时出错。

我的 PMS_USERS 表没有记录(null)。我还尝试检查 currUsernull 控件。

我错过了什么?

错误是:

Non static method requires a target

最佳答案

您应该首先测试 currUser 是否为 null 以及您的 dbContext。

if (currUser == null) return false;
if (dbContext == null) throw new Exception ("The dbContext has not been set");

其次,您可以像 yhat 一样简化您的查询:

 var validateUser = dbContext.PMS_USERS.Where(p=> p.LOGICALREF != currUser.LOGICALREF &&  p.USERNAME == currUser.USERNAME);

然后将返回语句更改为:

return (validateUser.FirstOrDefault() != null);

如果您想确保只有一个用户符合您的条件,您可以选择使用 SingleOrDefault 语句而不是 FirstOrDefault。

关于c# - 非静态方法需要一个目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094711/

相关文章:

c# - 如何更改在 WorkerService 中搜索 appsettings.json 的位置

c# - 检查复选框值并将其分配给 C# 中的字符串

c# - 用于 asp.net 的导出到 Excel 工具

c# - MVC Entity Framework 在 View 中使用嵌套的 foreach

c# - 在模拟的 EF6 数据库中通过外键加载相关数据

c# - 我如何或可以使用 Windows Azure 移动服务查询 WindowsPhone8 应用程序中的多个表?

C#:将 null 传递给重载方法 - 调用了哪个方法?

c# - ASP.NET/MVC : Inline code

c# - Entity Framework 6.1 Code First Cascading Delete with TPH 用于派生类型上的一对一关系

c# 动画对齐 - 可能吗?