Linq2SQLがSQL Serverに対してクエリを実行する場所を教えてください。私はCar
というドメインオブジェクトにマップした後に起こることを望んでいます。Linq-to-SQLはいつクエリを実行しますか?
public class Car
{
public Guid CarId { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public int HorsePower { get; set; }
}
public class CarRepository
{
private readonly MyDataContext _dc;
private readonly Func<DbCar, Car> _mappedCar =
c => new Car
{
CarId = c.CarId,
HorsePower = c.HorsePower,
Make = c.Make,
Model = c.Model,
};
public CarRepository(MyDataContext dc)
{
_dc = dc;
}
public Car GetCar(Guid carId)
{
var car = _dc.GetTable<DbCar>()
.Select(_mappedCar)
.Single(c => c.CarId == carId);
return car;
}
}
実際には機能しますか?もしそうなら、私はLinq-to-SQLがあなたの '' _mappedCar''関数を解決し、 '' c => c.CarId == carId''述語をdbワールドに戻すことができると非常に感心しています... –
ええ、それ働く –