Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法隐式转换类型';系统Linq.IQueryable<&燃气轮机;到存在显式转换(是否缺少强制转换?)_C#_.net_Asp.net Mvc 3_Linq - Fatal编程技术网

C# 无法隐式转换类型';系统Linq.IQueryable<&燃气轮机;到存在显式转换(是否缺少强制转换?)

C# 无法隐式转换类型';系统Linq.IQueryable<&燃气轮机;到存在显式转换(是否缺少强制转换?),c#,.net,asp.net-mvc-3,linq,C#,.net,Asp.net Mvc 3,Linq,我有以下代码: private GolfManagementEntities db = new GolfManagementEntities(); public class ThanhToan { public ThanhToan() { } public Double Total { get; set; } public DateTime date { get; set; } } public

我有以下代码:

private GolfManagementEntities db = new GolfManagementEntities();

    public class ThanhToan
    {
        public ThanhToan()
        { }
        public Double Total { get; set; }
        public DateTime date { get; set; }
    }

    public List<ThanhToan> listInvoice(DateTime tuNgay, DateTime denNgay)
    {

       List<ThanhToan> invoice= from i in db.Invoices 
                                where i.Date >= tuNgay && i.Date <= denNgay 
                                group i by i.Date into In 
                                select new ThanhToan { 
                                    date= Convert.ToDateTime(In.Key) , 
                                    Total = Convert.ToDouble(In.Sum(s => s.ExtendedCost))
                               };

       return invoice;

}
private GolfManagementEntities db=new GolfManagementEntities();
公共级ThanhToan
{
公共Thanthan()
{ }
公共双总计{get;set;}
公共日期时间日期{get;set;}
}
公共列表发票(DateTime tuNgay、DateTime Dengay)
{
列出发票=来自数据库中的发票
其中i.日期>=tuNgay和i.日期s.延期成本)
};
退货发票;
}
我得到了这个错误:

无法将类型“System.Linq.IQueryableto”隐式转换为。存在显式转换(是否缺少转换?


请帮助我

您的查询返回的是
IQueryable
,但您试图返回的是
列表
。没有可用的隐式转换(根据错误消息),但您可以使用extension方法创建列表:

public List<ThanhToan> ListInvoices(DateTime tuNgay, DateTime denNgay)
{

    var query = from i in db.Invoices 
                where i.Date >= tuNgay && i.Date <= denNgay
                group i by i.Date into g
                select new ThanhToan {
                    date = Convert.ToDateTime(g.Key), 
                    Total = Convert.ToDouble(g.Sum(s => s.ExtendedCost))
                };
    return query.ToList();
}
公共列表发票(DateTime tuNgay、DateTime Denggay)
{
var query=来自数据库中的i发票
其中i.日期>=tuNgay和i.日期s.延期成本)
};
返回query.ToList();
}

(我已将您的方法名称更改为遵循.NET命名约定,并且在返回多张发票(而不仅仅是一张发票)方面更有意义。还请注意,将查询分散到多行可以使阅读更容易。)

您的查询返回
IQueryable
,但您正在尝试返回
列表。没有可用的隐式转换(根据错误消息),但您可以使用extension方法创建列表:

public List<ThanhToan> ListInvoices(DateTime tuNgay, DateTime denNgay)
{

    var query = from i in db.Invoices 
                where i.Date >= tuNgay && i.Date <= denNgay
                group i by i.Date into g
                select new ThanhToan {
                    date = Convert.ToDateTime(g.Key), 
                    Total = Convert.ToDouble(g.Sum(s => s.ExtendedCost))
                };
    return query.ToList();
}
公共列表发票(DateTime tuNgay、DateTime Denggay)
{
var query=来自数据库中的i发票
其中i.日期>=tuNgay和i.日期s.延期成本)
};
返回query.ToList();
}
(我已将您的方法名称更改为遵循.NET命名约定,并且在返回多张发票(而不仅仅是一张发票)方面更有意义。还请注意,将查询分散到多行可以使阅读更容易。)