我创建了一个数据库.mdf文件,调用了SportsStore.mdf。在这个数据库文件中,我创建了一个表并用行填充它。现在我试图获取这些行并将其打印到具有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<Product> 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<Product> 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<Product> Products
{
get { return context.Products; }
}
}
}
我还使用Ninject依赖注入将IProductRepository绑定到EFProductRepository:
kernel.Bind<IProductRepository>().To<EFProductRepository>();
这是我的控制器:
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<Product>
@{
ViewBag.Title = "Products";
}
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Description);
</td>
<td>
@Html.DisplayFor(modelItem => item.Price);
</td>
<td></td>
</tr>
}
的ConnectionString:
<connectionStrings>
<add name="SchoolContext"
connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
我遇到的问题是,当我运行我的应用程序时,没有打印出任何内容。没有显示任何错误消息或没有。
我怎样才能继续解决我的问题?我应该在哪里看?