你能告诉我Linq2SQL在哪里对我的sql服务器执行查询吗?我希望在我映射到名为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世界... –
是的,它作品。 –