如何在实体数据模型中获取ID项目编号

时间:2018-06-30 08:46:57

标签: c# database entity-framework-6 linq-to-entities

我正在尝试检查登录信息“,”,如果正确,则获取项目ID“,”,否则显示错误输入消息 我的代码是:

var getid = from user in db.tables
            where user.name == tbusername.Text && user.password == tbpassword.Text
            select user.Id;

c = Int32.Parse(getid);

但是vs表示c = Int32.Parse(getid);出了什么问题?

1 个答案:

答案 0 :(得分:1)

您不能将列表转换为整数。 Where返回一个集合,(或者最好说一个IEnumerable)。您正在将某物列表推到只需要某物1的空间(Int32.Parse)中。

如果您的ID是一个i​​nt,则不必解析它

示例

var getid = (from user in db.tables
            where user.name == tbusername.Text && user.password == tbpassword.Text
            select user.Id).FirstOrDefault();

// or
var getid = db.tables.Where(user => user.name == tbusername.Text && user.password == tbpassword.Text)
                     .Select(user => user.Id)
                     .FirstOrDefault();

if(getid == null)
{
    MessageBox.Show("Oh nooez!!!");
    return;
}

MessageBox.Show("You is id : " + getid );

Enumerable.FirstOrDefault Method (IEnumerable)

  

返回序列的第一个元素,如果返回则返回默认值   序列不包含任何元素。

Enumerable.Where Method (IEnumerable, Func)

  

根据谓词过滤一系列值。

返回值

  

类型:System.Collections.Generic.IEnumerable   IEnumerable,包含来自输​​入序列的元素   满足条件。