C# 你能告诉我实体框架查询有什么问题吗?

C# 你能告诉我实体框架查询有什么问题吗?,c#,entity-framework,C#,Entity Framework,我正在尝试用C语言选择一个类型为Member的实体,代码是这样的。我在看一个视频教程,他们也这么做,但对我不起作用 Member member = new Member(); var query = from m in db.Members where Member.MemberID == textBox1.Text select m; var currentMember = query.FirstOrDefaul

我正在尝试用C语言选择一个类型为Member的实体,代码是这样的。我在看一个视频教程,他们也这么做,但对我不起作用

        Member member = new Member();
        var query =  from m in db.Members  where Member.MemberID == textBox1.Text 
        select m;     
        var currentMember =  query.FirstOrDefault();
        string CurrentID = M.MemberID;    
没有异常或其他东西,但我得到的currentMember的所有属性都为null。
有什么办法可以达到预期的效果吗

我想你可能把变量弄混了。让我们尝试清理此代码:

var memberQuery = from m in db.Members
                  where m.MemberID == textBox1.Text
                     // ^ you need to reference the MemberID by the query
                     //   variable (m) not the class name (Member).
                  select m;

var member = memberQuery.SingleOrDefault();
                      // ^ when you only expect zero or one records from the
                      //   database, use SingleOrDefault instead of
                      //   FirstOrDefault, because it will throw an exception
                      //   when more than one record is returned.

if (member != null)
 // ^ always check to make sure that the database returned a value before trying
 //   to access any fields on the object.
{
    string currentId = member.MemberID;
}
else
{
    // a member with the given ID doesn't exist in the database
}

我想你可能把变量搞混了。让我们尝试清理此代码:

var memberQuery = from m in db.Members
                  where m.MemberID == textBox1.Text
                     // ^ you need to reference the MemberID by the query
                     //   variable (m) not the class name (Member).
                  select m;

var member = memberQuery.SingleOrDefault();
                      // ^ when you only expect zero or one records from the
                      //   database, use SingleOrDefault instead of
                      //   FirstOrDefault, because it will throw an exception
                      //   when more than one record is returned.

if (member != null)
 // ^ always check to make sure that the database returned a value before trying
 //   to access any fields on the object.
{
    string currentId = member.MemberID;
}
else
{
    // a member with the given ID doesn't exist in the database
}
问题出在Member.MemberID==textBox1.Text的位置

它应该位于m.MemberID==textBox1.Text的位置

为什么要创建成员?成员=新成员

只需从查询中获取成员并从中获取id。

问题在于Member.MemberID==textBox1.Text的位置

它应该位于m.MemberID==textBox1.Text的位置

为什么要创建成员?成员=新成员


只需从查询中获取成员并从中获取id。

数据库中是否有成员?或者数据库中是否有一个成员等于textbox中提供的名称?您是否从textBox1.Text返回值,并且该值必须为int?是否有任何异常?是的,我从文本框中获得了正确的值。我没有任何例外。Id的类型为varchar。您是否检查了数据库?你有那个会员的记录吗?是的,这是我自己的数据库。我已经确定它存在了。数据库中有成员吗?或者数据库中是否有一个成员等于textbox中提供的名称?您是否从textBox1.Text返回值,并且该值必须为int?是否有任何异常?是的,我从文本框中获得了正确的值。我没有任何例外。Id的类型为varchar。您是否检查了数据库?你有那个会员的记录吗?是的,这是我自己的数据库。我已经确定了它的存在。我添加了一些注释来指导您。我添加了一些注释来指导您。