1
以前從未見過這種情況。我在我的應用程序中使用web api和mvc控制器。Web Api和MVC控制器 - 相同的存儲庫,不同的輸出
我使用Structuremap MVC4依賴注入兩個控制器,它工作正常。
使用同一個存儲庫,當我從MVC控制器獲取一個產品時,結果爲NULL,但是從Web Api控制器調用同一產品時,結果是正確的產品。
兩者都在存儲庫中使用相同的DbContext命中相同的方法。
這是MVC控制器動作:
public ActionResult ShowProduct(int id)
{
var product = _repo.GetProduct(id);//product is null
return View();
}
這是Web API方法:
public Product Get(int id)
{
var product = _repo.GetProduct(id);//Returns correct product
return product;
}
這是由兩個控制器中使用的庫的方法:
public Product GetProduct(int id)
{
using (var db = new ProductContext())
{
var product = db.ProductDb.Include(a => a.Orders).FirstOrDefault(c => c.Id == id);
return product; //Call from MVC controller returns NULL
}
}
不限爲什麼會發生這種想法
確定你有正確的ID值? – freshbm
是的,值是正確的,並且該項目在數據庫中。 – Soeren