【发布时间】:2018-11-11 17:55:16
【问题描述】:
您好,我正在用 C# 开发一个带有实体框架的 Web API,我的数据库中有 4 个表
Products:
IdProduct,
IdCategory,
IdBrand,
Product,
Price,
Descryption,
IdOffice
Category:
IdCategory,
Category
Brand:
IdBrand,
Brand
Office:
IdOffice,
Office
我使用 Products 模型做了一个 Web API,但我想显示数据而不是 Id。
这是我所做的,但在返回时给了我一个错误
不能隐式转换类型'System.Linq.IQueryable'匿名类型int IdProducto、字符串类别、字符串产品、字符串品牌、字符串办公室、字符串描述、十进制? System.Linq.IQueryable NameProject 中的价格'
private ExamenPOO1Entities db = new ExamenPOO1Entities();
private ExamenPOO1Entities1 ca = new ExamenPOO1Entities1();
private ExamenPOO1Entities2 ma = new ExamenPOO1Entities2();
private ExamenPOO1Entities3 su = new ExamenPOO1Entities3();
// GET: api/Productoes
public IQueryable<Producto> GetProductos()
{
var query =
from p in db.Productos
join c in ca.Categorias
on p.IdCategoria equals c.IdCategoria
join m in ma.Marcas
on p.IdMarca equals m.IdMarca
join s in su.Sucursales
on p.IdSucursal equals s.IdSucursal
select new
{ IdProducto =p.IdProducto, Categoria = c.Categoria1, Producto = p.Producto1,
Marca = m.Marca1, Sucursal = s.Sucursal, Descripcion = p.Descripcion,
Precio = p.Precio};
return query;
}
【问题讨论】:
-
请发布错误信息。
-
不相关,但是关于 4 db 上下文 - 这意味着连接是在内存中完成的。你确定你不能减少这些吗?
-
呃,跨上下文加入肯定很讨厌。也许这是给你的错误?除非您告诉我们您的错误是什么,否则我们不知道...
-
在新关键字之后,输入Producto。
-
不能隐式转换类型'System.Linq.IQueryable' >' 在 System.Linq.IQueryable
标签: c# asp.net linq asp.net-web-api