ASP NET Запрос SQL C# запись в List

261
16 января 2017, 18:47

привет есть код

 public ActionResult Index()
        {
            /*IEnumerable*/List<Book> book;
            sql = new MySqlConnection("Database=world;Data Source=localhost;User Id=root;Password=root");
            MySqlCommand command = new MySqlCommand("SELECT * FROM book", sql);
            adapter = new MySqlDataAdapter();
            dt = new DataTable();
            adapter.SelectCommand = command;
            adapter.Fill(dt);
            ViewBag.Books = dt;
            //
            return View();
        }

хочу что бы данные которые в базе записать в List Он имеет тип Book Это модель

public class Book
    {
        // ID книги
        public int Id { get; set; }
        // название книги
        public string Name { get; set; }
        // автор книги
        public string Author { get; set; }
        // цена
        public int Price { get; set; }
    }

в базе сделана таблица с такими же свойствами как у класса Book В коненчо м результате хочу сделать что бы было

ViewBag.Books = book;

и уже потом перебрать значения в foreach и выводить

<div class="row">
    @foreach (var b in ViewBag.Books)
     {
            <p>@b.Id</p>
            <p>@b.Name</p>
            <p>@b.Author</p>
            <p>@b.Price</p>
     }
</div>

как то так.Подскажите

Answer 1
adapter.Fill(dt);
List<Book> books = new List<Book>();
foreach(DataRow row in dt.Rows)
{
  books.Add(new Book(){
    Id = Convert.ToInt32(row["Id"]),
    Name = Convert.ToString(row["Name"]),
    Author = Convert.ToString(row["Author"]),
    Price = Convert.ToInt32(row["Price"])
  });
}
ViewBag.Books = books;
READ ALSO
Помогите перевести небольшой код из C в C#

Помогите перевести небольшой код из C в C#

Данный код рисует некий фрактал

324
C# ArgumentOutOfRangeException stream.Read

C# ArgumentOutOfRangeException stream.Read

как исправить ошибку ArgumentOutOfRangeException в строке

280
Вопрос по Autocomplete textbox с#

Вопрос по Autocomplete textbox с#

Есть таблица "kontr" с полями id,name,typeНа форме есть textbox на нем стоит автозаполнение из таблицы "kontr"

357
Ошибка outofmemory при декомпрессии ab (Android Backup) файла

Ошибка outofmemory при декомпрессии ab (Android Backup) файла

На англоязычной версии сайта нашел метод, который мне очень подходит:

390