在我的MVC
应用程序中有4个模型类。
ProductModel.cs
public class ProductModel
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public int SupplierID { get; set; }
public int CategoryID { get; set; }
}
CategoriesModel.cs
public class CategoriesModel
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
public string Description { get; set; }
}
SuppliersModel.cs
public class SuppliersModel
{
public int SupplierID { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
public string ContactTitle { get; set; }
public string Phone { get; set; }
public string City { get; set; }
public string Country { get; set; }
}
Products_Categories_SuppliersModel - 具有上述三个类中所有必需属性的类。
public class Products_Categories_SuppliersModel
{
public string ProductName { get; set; }
public string ContactName { get; set; }
public string ContactTitle { get; set; }
public string CompanyName { get; set; }
public string Phone { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string CategoryName { get; set; }
public string Description { get; set; }
}
我在List<ProductModel>
,List<CategoriesModel>
,List<SuppliersModel>
中有数据。使用Linq
加入所有三个列表。
public List<Products_Categories_SuppliersModel> GetProduct_Category_SupplierData()
{
try
{
List<ProductModel> prodData = GetProductsData().ToList();
List<CategoriesModel> categData = GetCategoriesData().ToList();
List<SuppliersModel> supplData = GetSuppliersData();
var DBData = (from p in prodData
join c in categData
on p.CategoryID equals c.CategoryID
join s in supplData on p.SupplierID equals s.SupplierID
select new
{
p.ProductName,
c.CategoryName,
c.Description,
s.ContactName,
s.ContactTitle,
s.CompanyName,
s.Phone,
s.City,
s.Country
});
return DBData.ToList();
}
catch (Exception) { return null; }
finally {}
}
但第24行引发错误:
Cannot implicitly convert type
'System.Collections.Generic.List<AnonymousType#1>' to
'System.Collections.Generic.List<MVCApp.Models.Products_Categories_SuppliersModel>'.
上述代码中的错误是什么?我创建了Products_Categories_SuppliersModel
类,返回数据应为Products_Categories_SuppliersModel
类型。
答案 0 :(得分:4)
像这样编写你的选择语句
select new MVCApp.Models.Products_Categories_SuppliersModel
{
ProductName = p.ProductName,
CategoryName = c.CategoryName,
Description = c.Description,
ContactName = s.ContactName,
ContactTitle = s.ContactTitle,
CompanyName = s.CompanyName,
Phone = s.Phone,
City = s.City,
Country = s.Country };
答案 1 :(得分:2)
只需在您的选择中实例化Products_Categories_SuppliersModel
。
var DBData = (from p in prodData
join c in categData
on p.CategoryID equals c.CategoryID
join s in supplData on p.SupplierID equals s.SupplierID
select new Products_Categories_SuppliersModel()
{
p.ProductName,
c.CategoryName,
c.Description,
s.ContactName,
s.ContactTitle,
s.CompanyName,
s.Phone,
s.City,
s.Country
});