程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET MVC和SQL查询大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决ASP.NET MVC和SQL查询?

开发过程中遇到ASP.NET MVC和SQL查询的问题如何解决?下面主要结合日常开发的经验,给出你关于ASP.NET MVC和SQL查询的解决方法建议,希望对你解决ASP.NET MVC和SQL查询有所启发或帮助;

您应该创建一个viewmodel查看下面的更新

这是代表您的页面的模型。要在视图中显示的元素应该存在于viewmodel中。您将在控制器中填充viewmodel并将其显示在页面上。

我已经写了一个购物网站页面的示例,左侧是类别,中间是“产品”。这两个实体将存在于不同的表中。

例子:

class MainPageviewmodel
{
  //this data is from a different table.
  //and goes on the left of the page
 public String CategorIEs {get; set;}
  //this data is also from a different table.
  //and goes on the center of the page
 public List<Products> Products {get; set;}
}

在您的控制器中:

public class HomeController : Controller
{
    // GET: /Home/
    public ActionResult Index()
    {
        MainPageviewmodel vm = new MainPageviewmodel();
        vm.CategorIEs = GetCategorIEs();
        //use the GetProducts() to get your products and add them.
        vm.Products.Add(...); 
        return VIEw(vm); //pass it into the page
    }
    String[] GetCategorIEs()
    {
     Datatable data = GetDataFromquery("SELECT * FROM CategorIEs WHERE..");
     //convert the data into a String[] and return it..
    }
    //maybe it has to return something else instead of String[]? 
    String[] GetProducts()
    {
     Datatable data = GetDataFromquery("SELECT * FROM Products WHERE..");
     //convert the data into a String[] and return it..
    }
    Datatable GetDataFromquery(String query)
    {
        sqlDataAdapter adap = 
             new sqlDataAdapter(query, "<your connection String>");
        Datatable data = new Datatable();
        adap.Fill(data);
        return data;
    }  
}

然后在您的视图中适当显示它:

@model MainPageviewmodel

@{ VIEwBag.title = "MainPage"; }

<div ID="left-bar">
  <ul>
    @foreach (var category in Model.CategorIEs)
    {
        <li>@category</li>
    }
  </ul>
</div>
<div ID="center-content">
    <ul>
    @foreach (var product in Model.Products)
    {
        <li>@product.name</li>
        <li>@product.Price..</li>
        .....
    }
  </ul>  
</div>

这是关于您的评论的,您提到数据库表和列定期更改。

我不能肯定地说,但也许您不应该每天都那样做表,也许可以有更好的数据库设计,或者RDBMS不是您的正确选择,并且您应该研究NoSQL数据库(如MongoDB)

不过,如果继续上面的代码,我建议将其放入自己的数据层类中。

还请看一下Dapper,它是一个非常薄的数据访问层,它仅使用sqL查询或存储过程从数据库中获取对象。(正是您所需要的)它是由stackoverflow制作和使用的。

解决方法

我使用Web表单开发网站,现在我有一个项目,其中我将MVC3
Framework与Rzor一起使用。我的问题是关于MVC中的一些基本设计模式。我有一个网页,在左侧,我将从SQL表中提取类别,在中心,我将查询另一个Sql表,以及整个页面中的其他几个表。

所以我的问题是&Hellip;什么是将数据带入一个网页的最佳方法,所有这些查询都是完全独立的,是否需要为每个查询创建新的MODEL?还是有更好的方法呢?

在WebForms中,我使用了用户控件,其中每个用户控件都有自己的设计和Sql查询。我听说过在MVC中使用部分视图,但是我不确定,我想我很难理解如何使用不同的查询将数据带入一个网页并在网页上显示输出。

谢谢

大佬总结

以上是大佬教程为你收集整理的ASP.NET MVC和SQL查询全部内容,希望文章能够帮你解决ASP.NET MVC和SQL查询所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。