如何从List<>中的数据库中获取数据

时间:2014-04-28 09:02:13

标签: asp.net asp.net-mvc

net MVC,我在太多的网站上搜索从数据库中获取数据到Listbox但我没有得到任何正确的答案,

我的每个网站都有一个列表<>的硬编码示例像这样,

    public SelectList GetAllCountryList()
    {
        List<Country> objcountry = new List<Country>();
        objcountry.Add(new Country { Id = 1, CountryName = "India" });
        objcountry.Add(new Country { Id = 2, CountryName = "USA" });
        objcountry.Add(new Country { Id = 3, CountryName = "Pakistan" });
        objcountry.Add(new Country { Id = 4, CountryName = "Nepal" });
        SelectList objselectlist = new SelectList(objcountry, "Id", "CountryName");
        return objselectlist;
    }

这个id是硬编码但我想从db中获取它,我知道我必须应用查询 像这样

public List<Country> allname = new List<Country>
{
    //query
};

但我不知道我应该如何使用它,或者这是否正确

请帮助解决这个问题

3 个答案:

答案 0 :(得分:1)

在存储库中,您可以像这样创建

public IQueryable<Country> GetCountries()
    {
        return from country in _db.Countries
               orderby country.Name ascending
               select country;
    }

在控制器中:

在控制器“获取”视图中,您可以创建一个视图数据并将值分配给该视图数据。无需在列表中创建..

ViewData["Countries"] = new SelectList(_repository.GetCountries(), "Id", "Name");

您希望将这些全部显示到视图中,

<%: Html.DropDownList("Countries" + i.ToString(), new SelectList(countries, "Id", "Name"))%>

希望至少你可以得到主意。

答案 1 :(得分:0)

您需要了解两件事。

  1. 如何将数据从数据库中导入C#中的List。
  2. 如何将列表放入模型中以便在页面上显示。
  3. http://www.asp.net/mvc/tutorials/mvc-music-store上的 MVC音乐商店教程涵盖了这两个方面。它需要花费几个小时才能完成,但它会为您节省更多的时间而不是成本。

    但是对于数据访问,很多人使用https://code.google.com/p/dapper-dot-net/而不是EntityFramework

答案 2 :(得分:0)

如果您使用的是Entity Framework

public class YouController:Controller
{
  private YourDBContext db = new YourDBContext();

  public SelectList GetAllCountryList()
  {
    var countries= db.Countries.ToList();
    SelectList objselectlist = new SelectList(countries, "Id", "CountryName");
    return objselectlist;
  }

}