我已经用默认的EF方式映射了我的类,我的所有FKs都是EntityCollection,因此Bike.Wheels就是EntityCollection。
我怎么和车轮一起工作?
我不能使用get/select/[]。
我是不是遗漏了什么?
发布于 2010-08-15 08:29:56
嗯,有些操作非常简单--其他操作有点杂乱无章--所以您可能需要重新设计一些使用简单方法的方法。
若要遍历所有车轮,只需使用foreach语句:
using(BikeEntities ctx = new BikeEntities())
{
// assuming you just somehow pick a bike to inspect the wheels for
Bike myBike = ctx.Bikes.FirstOrDefault(b => b.BikeID == 5);
foreach(Wheel w in myBike.Wheels)
{
// do something with your wheel
foreach(Bolt b in w.Bolts)
{
// do something to al the bolts on your wheel
}
}
}获取集合的第一、第二等更棘手,因为您不能使用通常的数组索引。您可以:
.Skip()方法--但是对于单个对象检索List<T>,然后使用数组索引所以要么你用这样的东西:
Wheel firstWheel = myBike.Wheels.FirstOrDefault();
Wheel secondWheel = myBike.Wheels.Skip(1).FirstOrDefault();或者将集合具体化为列表:
List<Wheel> myWheels = myBike.Wheels.ToList();
Wheel firstWheel = myWheels[0];
Wheel secondWheel = myWheels[1];https://stackoverflow.com/questions/3486637
复制相似问题