Получить строки из таблицы с помощью Entity frameworkC#

Место общения программистов C#
Ответить
Anonymous
 Получить строки из таблицы с помощью Entity framework

Сообщение Anonymous »

Я создал файл базы данных .mdf под названием SportsStore.mdf. В этом файле базы данных я создал таблицу и заполнил ее строками. Теперь я пытаюсь получить эти строки и распечатать их в представлении с помощью Entity Framework.
Я пытаюсь использовать шаблон репозитория для работы с Entity Framework.
В моем модельном домене под названием SportsStore.domain у меня есть три важных файла: Entities/Product.cs, Concrete/EFDbContext.cs, Concrete/EFProductRepository.cs и Abstract/IProductsRepository.cs
IProductsRepository — это интерфейс, который реализует EFProductRepository.
IProductsRepository:

Код: Выделить всё

using SportsStore.domain.Entities;

namespace SportsStore.domain.Abstract
{
public interface IProductRepository
{
IEnumerable
 Products { get; }
}
}
EFDbContext:

Код: Выделить всё

using SportsStore.domain.Entities;

namespace SportsStore.domain.Concrete
{
//Associate the model with the database
//This class then automatically defines a property for each table in the database that I want to work with.
public class EFDbContext : DbContext {
public DbSet
 Products { get; set; }
}
}
EFProductRepository:

Код: Выделить всё

using SportsStore.domain.Abstract;
using SportsStore.domain.Entities;

namespace SportsStore.domain.Concrete
{
public class EFProductRepository : IProductRepository
{
private EFDbContext context = new EFDbContext();

public IEnumerable
 Products
{
get { return context.Products; }
}
}
}
Я также использую внедрение зависимостей с Ninject для привязки IProductRepository к EFProductRepository:

Код: Выделить всё

kernel.Bind().To();
Вот мой контроллер:

Код: Выделить всё

using SportsStore.domain.Abstract;
using SportsStore.domain.Entities;

namespace SportsStore.WebUI.Controllers
{
public class ProductController : Controller
{
private IProductRepository repository;

//Declar the dependency on IProductRepository
public ProductController(IProductRepository productRepository)
{
this.repository = productRepository;
}
// GET: Product

public ViewResult List()
{
return View(repository.Products.ToList());
}

}
}
Как видите, контроллер использует интерфейс IProductRepository.
Вот мое мнение:

Код: Выделить всё

@using SportsStore.domain.Entities
@model IEnumerable

@{
ViewBag.Title = "Products";
}
@foreach (var item in Model)
{


@Html.DisplayFor(modelItem => item.Description);


@Html.DisplayFor(modelItem => item.Price);



}
Строка подключения: Проблема в том, что при запуске приложения ничего не распечатывается. Никаких сообщений об ошибках не отображается или ничего не отображается.
Как решить проблему? Где мне смотреть?

Подробнее здесь: https://stackoverflow.com/questions/332 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»