2014-02-26 78 views
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 
     } 
    } 

不限爲什麼會發生這種想法

+0

確定你有正確的ID值? – freshbm

+0

是的,值是正確的,並且該項目在數據庫中。 – Soeren

回答

1

嗯,我幾乎不敢告訴這樣做的原因是什麼...

兩個控制器在每個自己的Web項目的存在,並與MVC控制器中的項目是缺少在ConnectionString web.config ... DUH ...

想我需要一些睡眠.....

相關問題