Использую sql management studio 2016
Вот скрин:
Код в View ( Index.cshtml):
@model IEnumerable<WebApplication1.Models.Book>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
<h3>Распродажа книг</h3>
<table>
<tr class="header">
<td><p>Название книги</p></td>
<td><p>Автор</p></td>
<td><p>Цена</p></td>
<td></td>
</tr>
@foreach (WebApplication1.Models.Book b in Model)
{
<tr>
<td><p>@b.Name</p></td>
<td><p>@b.Author</p></td>
<td><p>@b.Price</p></td>
<td><p><a href="/Home/Buy/@b.Id">Купить</a></p></td>
</tr>
}
</table>
</div>
WebConfig:
<connectionStrings>
<add name="BookContext" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='|DataDirectory|\Bookstore.mdf';Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
HomeController:
BookContext db = new BookContext();
public ActionResult Index()
{
return View(db.Books);
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
BookContext:
public class BookContext : DbContext
{
public BookContext() : base("DefaultConnection")
{ }
public DbSet<Book> Books { get; set; }
public DbSet<Purchase> Purchases { get; set; }
}
В Бд есть данные:
Возможно дело в том, что после запуска база данных выключена ? :
Поменяйте название подключения согласно файлу Web.config
public BookContext() : base("name=BookContext") { }
Передай объекты в ViewBag
public class HomeController : Controller
{
// создаем контекст данных
BookContext db = new BookContext();
public ActionResult Index()
{
// получаем из бд все объекты Book
IEnumerable<Book> books = db.Books;
// передаем все объекты в динамическое свойство Books в ViewBag
ViewBag.Books = books;
// возвращаем представление
return View();
}
}
А потом выводи на странице
@foreach (var b in ViewBag.Books)
{
<tr>
<td><p>@b.Name</p></td>
<td><p>@b.Author</p></td>
<td><p>@b.Price</p></td>
<td><p><a href="/Home/Buy/@b.Id">Купить</a></p></td>
</tr>
}
И еще у тебя должен быть класс 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; }
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости