我有类似的东西:
List<Cat> cats = AnimalEdmContext.Current.Cats.ToList();
Cat
是我的数据库中的表格,其中包含字段CatId
和Breed
。
如何访问与给定整数Breed
对应的CatId
字段的值?
答案 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项。