通过ID字段检索实体对象列表中的字段值

时间:2015-07-24 16:09:46

标签: c# entity-framework list

我有类似的东西:

List<Cat> cats = AnimalEdmContext.Current.Cats.ToList();

Cat是我的数据库中的表格,其中包含字段CatIdBreed。 如何访问与给定整数Breed对应的CatId字段的值?

3 个答案:

答案 0 :(得分:0)

您需要查询数据库才能执行此操作。以下示例说明如何执行此操作。

var theCatId = 1; // Or whatever
var theCatIWant = AnimalEdmContext.Current.Cats.Where(c => c.CatId = theCatId).Single();
var theBreedIs = theCatIWant.Breed;

这样做你只需从数据库中检索符合你条件的猫。另一方面,如果您对整个列表进行过滤,就像您在问题中所做的那样,您将从数据库中检索所有记录,然后过滤它们,这会花费更多。

Single LINQ方法允许您指定单个元素应匹配的条件。我已经添加了Where方法,因此我们正在做的更清楚。

如果没有找到记录或者找到多个记录,则单个将抛出异常。

答案 1 :(得分:0)

您可以使用::

var catBreed = cats.First(x =&gt; x.CatdId == desiredId).Breed;

答案 2 :(得分:0)

如果您正在寻找特定项目,可以执行以下操作:

var cat = AnimalEdmContext.Current.Cats.First(cat => cat.CatId == 1);
var breed = cat.Breed;

在此示例中,这将检索表中ID为1的第一个Cat项。