我正在尝试从linq查询中获取对象列表。在我的课下
public partial class FuelBenefit
{
public int FuelBenefitId { get; set; }
public Nullable<int> EmployeeId { get; set; }
public Nullable<int> VehicleId { get; set; }
public Nullable<double> QuantityByCicle { get; set; }
public Nullable<int> UOMId { get; set; }
public Nullable<System.DateTime> DateStart { get; set; }
public Nullable<System.DateTime> DateEnd { get; set; }
public Nullable<bool> Active { get; set; }
public partial class FuelAmountEmployeeCycle
{
public int FuelAmountEmployeeCicleId { get; set; }
public Nullable<int> CycleId { get; set; }
public Nullable<int> EmployeeId { get; set; }
public Nullable<double> Amount { get; set; }
public Nullable<double> Balance { get; set; }
}
和查询。我没有收到错误,但没有结果。
var y = (from e in db.FuelBenefits
where e.Active == true
select new FuelAmountEmployeeCycle
{
CycleId = 1,
EmployeeId = e.EmployeeId,
Amount = e.QuantityByCicle,
Balance = e.QuantityByCicle
});
当我这样做
var y = (from e in db.FuelBenefits
where e.Active == true
select e );
我确实得到了结果。
我有另一个项目可以执行此操作,但不确定为什么这次不起作用。
谢谢!
答案 0 :(得分:1)
var y = (from e in db.FuelBenefits
where e.Active == true
select new FuelAmountEmployeeCycle
{
CycleId = 1,
EmployeeId = e.EmployeeId,
Amount = e.QuantityByCicle,
Balance = e.QuantityByCicle
});
直到查询到ToList()代码,该查询才会运行。
您应该这样写:
var y = (from e in db.FuelBenefits
where e.Active == true
select new FuelAmountEmployeeCycle
{
CycleId = 1,
EmployeeId = e.EmployeeId,
Amount = e.QuantityByCicle,
Balance = e.QuantityByCicle
}).ToList();
答案 1 :(得分:0)
var y = db.FuelBenefits.Where(f => f.Active == true)
.Select(f => new FuelAmountEmployeeCycle
{
CycleId = 1,
EmployeeId = f.EmployeeId,
Amount = f.QuantityByCicle,
Balance = f.QuantityByCicle
})
.ToList();