【问题标题】:When I'm trying to bring one value from a table with email, the result is always null当我尝试从带有电子邮件的表中获取一个值时,结果始终为空
【发布时间】:2018-07-14 12:21:23
【问题描述】:

当我使用以下查询时,我试图从注册表中获取帐户状态,这始终返回 null。

public string GetActStatus(string mememail)
    {


        using (Vulpith_Entities objentity = new Vulpith_Entities())
        {


            var some = objentity.Tbl_Vulpith_Registration.Where(a => a.email == mememail).Select(a => a.ActStatus).FirstOrDefault();
            return some;
        }

    }

但是当我在 SQL 服务器中执行相同的查询时,它会正确显示结果。

select ActStatus from Tbl_Vulpith_Registration where email='somename@gmail.com'

您能否告诉我的 c# 或 LINQ 查询有什么问题,即使我更新了实体中的表

【问题讨论】:

  • 请调试并与我们分享mememail准确值。 请不要猜测、调试和确认。您是否100% 确定指向正确的 SQL Server?
  • objentity.Tbl_Vulpith_Registration.Where(a => a.email == mememail).Count();的值是多少?
  • 试试ToLower 方法mememail.ToLower()
  • 像这样使用:objentity.Tbl_Vulpith_Registration.Where(x => x.email == mememail).FirstOrDefault().ActStatus;
  • 这将如何帮助@PrashantPimpale?如果当前代码确实返回null,为什么不会返回null

标签: c# sql-server asp.net-mvc entity-framework linq


【解决方案1】:
var some = objentity.Tbl_Vulpith_Registration.ToList().FirstOrDefault(a => a.email == mememail)?.ActStatus;

像这样更新你的行。

您的 mememail 应与电子邮件相同,因为这是区分大小写的。

  • 答案已更新。

【讨论】:

  • 添加一些解释会很棒。
猜你喜欢
  • 1970-01-01
  • 2017-05-26
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多