在LINQ中将时间跨度转换为字符串



下面是LINQ查询:

var data1 = (from p in DB.TProject
from c in DB.TClient
join ct in DB.TContract
on c.ClientId equals ct.ClientId                                
join cp in DB.TClientPortfolio
on ct.ContractId equals cp.ContractId                                
select new ClientReport
{
ClientName = c.ClientName,
StartDate = ct.StartDate.ToString(),
EndDate = ct.EndDate.ToString(),                                    
DeliveryTime1 = Convert.ToString(cp.DeliveryTime1)
}).Distinct().ToList();

这里我需要DeliveryTime在字符串中的交付时间是在时间跨度,所以要将其转换为字符串。但它显示了错误。请帮助我谢谢你

可能LINQ提供程序不知道如何将TimeSpan转换为字符串。因此,在从服务器返回数据后执行此操作。

var query = 
from p in DB.TProject
from c in DB.TClient
join ct in DB.TContract on c.ClientId equals ct.ClientId                                
join cp in DB.TClientPortfolio on ct.ContractId equals cp.ContractId                                
select new
{
ClientName = c.ClientName,
StartDate = ct.StartDate,
EndDate = ct.EndDate,                                    
DeliveryTime1 = cp.DeliveryTime1
};
var data1 = query
.Distinct()
.AsEnumerable()
.Select(c => new ClientReport
{
ClientName = c.ClientName,
StartDate = c.StartDate.ToString(),
EndDate = c.EndDate.ToString(),                                    
DeliveryTime1 = Convert.ToString(c.DeliveryTime1)
})
.ToList();

最新更新