【发布时间】:2013-12-26 21:12:26
【问题描述】:
我对以下内容有些困惑。我应该使用导航属性来到达我想去的地方,还是应该询问存储库?例如:我有以下课程
public class Vehicle
{
public IList<Equipment> Equipment { get; set; }
}
public class Equipment
{
//.. Properties..
}
就 DDD 而言,获取与特定车辆相关的设备的推荐方法是什么?
选项1: 向存储库询问车辆并从导航属性中获取设备
public class VehicleService {
public IEnumerable<Equipment> GetVehicleEquipment(int vehicleId)
{
var vehicle = _repository.Get(vehicleId);
return vehicle.Equipment;
}
}
选项2: 制作一个专门的存储库方法,以便能够为特定车辆请求设备 公共类 VehicleService {
public IEnumerable<Equipment> GetVehicleEquipment(int vehicleId)
{
return _repository.GetEquipment(vehicleId);
}
}
【问题讨论】:
标签: domain-driven-design ddd-repositories