MVC3打破了Linq2Sql

时间:2011-02-23 07:39:54

标签: linq-to-sql asp.net-mvc-2 asp.net-mvc-3

我一直在将一个站点从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

1 个答案:

答案 0 :(得分:1)

尝试:

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