如何在mvc3 .cshtml文件中编写sql查询?

时间:2013-09-10 10:39:22

标签: .net

我想在mvc3 .cshtm文件中编写一些sql查询(插入/更新)并相应地执行操作。我是新手,所以我需要帮助。 提前谢谢

2 个答案:

答案 0 :(得分:1)

你可以这样做:

@{
   // You C# code here querying the database
}

但是这是非常糟糕的做法,此类操作是Contoller的作用。

在MVC中,您的控制器获取并组织数据并将数据发送到View。然后View的作用是仅向最终用户显示数据。

如果您的数据很复杂,您可以(必须)使用ViewModelViews and ViewModels)。

您还可以使用ViewBag, ViewData, or TempData

<强>更新

using (var context = new BloggingContext())
{
    var blogs = context.Blogs.ToList();

    foreach (var item in blogs)
    {
        // Display blog for example
    }
}

如果您使用的是EntityFramework,可以找到更多详细信息on their Home page

答案 1 :(得分:0)

cshtml文件是ASP.NET MVC中的视图文件。因此,您不会将数据访问代码放在视图中,因为它会违反设计模式;视图应该是愚蠢的,并且应该给出他们向最终用户显示表示所需的数据。

控制器应与模型交互以获取数据并将其传递给视图。一般做法是使用强类型ViewModel传递此数据,例如

public class MyController : Controller
{
    public ActionResult Index()
    {
        // your data access code here
        ViewModel model = someDataAccessCode.GetItemsForView();       

        return View(model);
    }
}

然后在〜/ Views / My /

中有一个名为Index.cshtml的视图
@model ViewModel

@* Display data in the view model *@

如果您 非常希望 将数据访问代码放入视图中,那么您可以使用服务器端脚本块来执行此操作。对于Razor视图,这些是

@{
    var data = someDataAccessCode.GetItemsForView();
}

@* Display data in the view model *@

但我不建议这样做。