2011-02-23 79 views
1

我從MVC2網站被轉換爲MVC3,雖然我設法得到它的工作,我該錯誤消息MVC3打破LINQ2SQL

「傳遞到字典的模型項的類型是「系統的困擾。 Data.Linq.SqlClient.SqlProvider + SingleResult`1 [NutritionLabel3.Models.sp_get_ingredientNutritionFoomasResult]」,但是這需要字典類型的模型項‘NutritionLabel3.Models.sp_get_ingredientNutritionFoomasResult’「。

此錯誤來自於模型層實現Linq2Sql數據層。此代碼在MVC2中正常工作。我通過用新的Linq2Sql接口構建新的MVC3站點來驗證這是否可重複,從而進行了大量測試。在控制器中LINQ2SQL呼叫的典型的實現將是這樣的:

public ActionResult Index() 
    { 
     NutritionLabel3.Models.testDataContext dbContext = new Models.testDataContext(); 

     var nutritionData = dbContext.sp_get_ingredientNutritionFoomas(2, 1, 2); 

     return View(nutritionData); 
    } 

看來,隱式類型轉換的消息是很神祕的。有沒有人在MVC3中打過這場戰鬥?

任何幫助將不勝感激!

PATC

回答

1

嘗試:

var nutritionData = dbContext 
    .sp_get_ingredientNutritionFoomas(2, 1, 2) 
    .Single();