Asp.net mvc 4 Web Api和MVC控制器-相同的存储库,不同的输出
以前从没见过这个。我在应用程序中同时使用web api和mvc控制器 我对这两个控制器都使用Structuremap MVC4依赖项注入,效果很好 使用相同的存储库,当我从MVC控制器获取一个产品时,结果为NULL,但是从WebAPI控制器调用相同的产品时,结果是正确的产品 两者都使用相同的DbContext在存储库中使用相同的方法 这是MVC控制器的操作:Asp.net mvc 4 Web Api和MVC控制器-相同的存储库,不同的输出,asp.net-mvc-4,dependency-injection,Asp.net Mvc 4,Dependency Injection,以前从没见过这个。我在应用程序中同时使用web api和mvc控制器 我对这两个控制器都使用Structuremap MVC4依赖项注入,效果很好 使用相同的存储库,当我从MVC控制器获取一个产品时,结果为NULL,但是从WebAPI控制器调用相同的产品时,结果是正确的产品 两者都使用相同的DbContext在存储库中使用相同的方法 这是MVC控制器的操作: public ActionResult ShowProduct(int id) { var product = _
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
}
}
你知道为什么会这样吗?嗯,我几乎不敢说出这是什么原因 这两个控制器存在于各自的web项目中,而带有MVC控制器的项目缺少web.config中的connectionstring。。。嗯
我想我需要一些睡眠….确定id中的值正确吗?是的,值正确,并且项目在数据库中。