我使用此方法:
public static ... GetList()
{
Entity conn = new Entity();
var lst = (from PS in conn.PurchaserSpecials
select new
{
PS.PurchaserID,
PS.PurchaserSerial,
PS.Purchaser.Address,
PS.Purchaser.Fax,
PS.Purchaser.NumberEconomic
}).ToList();
return lst;
}
不能将var用于输出类型。请帮帮我......
输出方法是什么?
答案 0 :(得分:2)
这是您创建的匿名类型的列表。
如果您想要返回一个您知道的类型,请创建一个包含您正在选择的字段的新类(我猜测下面的类型):
public class Specials
{
public int PurchaserID { get; set; }
public int PurchaserSerial { get; set; }
public string Address { get; set; }
public int Fax { get; set; }
public int NumberEconomic { get; set; }
}
public static List<Specials> GetList()
{
Entity conn = new Entity();
var lst = (from PS in conn.PurchaserSpecials
select new Specials
{
PurchaserID = PS.PurchaserID,
PurchaserSerial = PS.PurchaserSerial,
Address = PS.Purchaser.Address,
Fax = PS.Purchaser.Fax,
NumberEconomic = PS.Purchaser.NumberEconomic
}).ToList();
return lst;
}
答案 1 :(得分:1)
您的LINQ查询生成一个匿名类型,因此不能用作该方法的返回类型,并且调用方法不会知道有关返回类型的任何内容。
解决这个问题的方法是使用动态关键字和动态类型。
你方法的返回类型可以是这样的
public dynamic GetList() {
return ...;
答案 2 :(得分:0)
查询的输出是匿名类型,您不能将其作为参数返回。为简单起见,您可以更好地创建类似于:'PurchaseDetail'的所有属性,并返回如下代码:
public static List<PurchaseDetail> GetList()
{
Entity conn = new Entity();
var lst = (from PS in conn.PurchaserSpecials
select new PurchaseDetail
{
PurchaserID= PS.PurchaserID,
PurchaserSerial=PS.PurchaserSerial,
Address=PS.Purchaser.Address,
Fax=PS.Purchaser.Fax,
NumberEconomic =PS.Purchaser.NumberEconomic
}).ToList();
return lst;
}
答案 3 :(得分:0)
退货类型为List of type Products
public static List<Products> GetList()
{
Entity conn = new Entity();
var lst = (from PS in conn.PurchaserSpecials
select new
{
PS.PurchaserID,
PS.PurchaserSerial,
PS.Purchaser.Address,
PS.Purchaser.Fax,
PS.Purchaser.NumberEconomic
}).ToList();
return lst;
}
public class Products
{
//Properties you are using in the query.
}