【发布时间】:2017-09-20 18:44:34
【问题描述】:
如何使用 LINQ(使用查询或方法语法)在我的选择选项中显示这些产品尚未出现在我的库存表中? 在此图像示例中,我只想显示服务器和打印机,因为它们不在我的库存表中。
我正在尝试这样做但不工作:
[HttpGet]
public async Task<ActionResult> GetInventory()
{
using (db)
{
var inventory = from p in db.Product
join I in db.Inventory on I.ProductId equals p.ProductId
where I.ProductId != p.ProductId
select new {
ProductId = p.ProductId, ProductName = p.ProductName };
return inventory;
}
}
我只能获得产品和库存,但当我加入它们时却不能...
public IQueryable<Product> GetProducts()
{
return db.Products;
}
public IQueryable<Inventory> GetInventory()
{
return db.Inventories;
}
public class InventoryViewModel
{
public int Inventory { get; set; }
public int ProductId { get; set; }
public int Quantity { get; set; }
}
然后我有我的 Javascript 函数来检索
function Products() {
$.ajax({
type: "GET",
url: "/Api/GetInventory",
dataType: "json",
success: function (result) {
$.each(result, function (key, value) {
$("#Products").append($("<option></option>").val(value.ProductId).html(value.ProductName));
});
}
});
}
如何修改我的操作以使产品不在我的库存表中?谢谢。
【问题讨论】:
-
你在这里混了很多东西,这就是为什么你没有得到任何回应。试着把你的问题分开。它看起来与 javascript 等没有任何关系。如果某些东西不起作用,请解释到底是什么不起作用
标签: javascript asp.net-mvc join left-join