我一直在将一个站点从MVC2转换为MVC3,而我已经设法让它正常工作我受到错误消息的困扰
“传入字典的模型项类型为'System.Data.Linq.SqlClient.SqlProvider + SingleResult`1 [NutritionLabel3.Models.sp_get_ingredientNutritionFoomasResult]',但此字典需要一个类型为'NutritionLabel3.Models的模型项.sp_get_ingredientNutritionFoomasResult'。“
此错误来自实现Linq2Sql数据层的Model层。此代码在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
答案 0 :(得分:1)
尝试:
var nutritionData = dbContext
.sp_get_ingredientNutritionFoomas(2, 1, 2)
.Single();