MVC在数据库中查找行而不使用主键

时间:2013-02-25 17:05:40

标签: c# linq entity-framework

假设我有以下课程:


public class Item

{
     [Key]
     public int itemID {get; set;}
     public int typeID {get; set;}
}

据我所知,在数据库中查找记录通常是主键,例如

Item item = db.Item.Find(id);

如何通过其他列找到记录?即找到typeID = 1的所有记录?

1 个答案:

答案 0 :(得分:6)

Item item = db.Items.FirstOrDefault(i => i.typeID == 1);

请注意,如果您不使用主键,则可能有多个项目与您的查询匹配。您可以使用上面示例中的FirstOrDefault来获取与查询匹配的第一个(如果有)项目。

要获取具有指定类型ID的所有项目,请使用Where

var items = db.Items.Where(i => i.typeID == 1);