Linq to sql 在MVC2中访问LinqToSql数据层

Linq to sql 在MVC2中访问LinqToSql数据层,linq-to-sql,asp.net-mvc-2,Linq To Sql,Asp.net Mvc 2,我对MVC设计模式和访问LinqToSql数据比较陌生。基本上,我想利用MVC的概念来访问数据(存储在Linq2Sql DataContext中),并将结果填充到gridview中。既然代码隐藏文件不符合MVC的目的,我应该将linq查询放在哪里来选择数据,并将其绑定到gridview 这是我选择的代码: 公众条例草案( { BillDataContext context = new BillDataContext(); var bills =

我对MVC设计模式和访问LinqToSql数据比较陌生。基本上,我想利用MVC的概念来访问数据(存储在Linq2Sql DataContext中),并将结果填充到gridview中。既然代码隐藏文件不符合MVC的目的,我应该将linq查询放在哪里来选择数据,并将其绑定到gridview

这是我选择的代码: 公众条例草案( {

        BillDataContext context = new BillDataContext();
        var bills =
            from b in context.Bill_Items
                select b;

    }

我尝试将其放入控制器中,但显然无法从控制器中获取gridView对象。我正在努力避免将代码隐藏文件绑定到该视图,并从该视图开始。希望有人能够阐明实现这一点的最佳实践。

您可以创建一个包含所有Linq代码的存储库类,然后旋转模型对象。 使用名为GetBillItems(..)的方法的Ex BillingRepository

您可以从控制器调用此存储库类,并将模型传递给视图

public ActionResult BillItems()
{
  BillingRepository repository = new BillingRepository();
  var model = repository.GetBilItems();
  return View(model);
}

你需要向他解释ASP.NET MVC中没有GridView。我正在为此写一个答案;你想告诉他,还是让我完成我的答案?:)这样你可以将模型绑定到你的视图,而视图中没有代码。你仍然需要一个视图。什么意思,没有代码?你仍然需要显示一些东西它,即使它是一个带有
甜甜圈孔的基本表格。我错过了gridView部分,但我想他只是指一个“表格”。总之,请完成您的回答:-)[叹气]已经有一段时间了……我有点生疏了。我会看看是否可以从NerdDinner那里复制一些代码。:)您将使用带有表支架的视图,而不是
GridView
。GridView只在ASP.NET中工作,而不是ASP.NET MVC。NerdDinner有一个示例,说明如何在此处创建视图和显示项目网格的存储库:Look about3/4页,在标题为“实现索引视图模板”的部分