我正在学习 Adam Freeman 书中的 asp.net mvc 3。在示例中,一个 SportsStore 应用程序使用 CodeFirst 方法。当解决方案运行引发异常时:无效的对象名称“dbo.Products”。 我假设连接字符串中的问题。我的Web.config示例:
<connectionStrings>
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=True" providerName="System.Data.SqlClient" />
和 csharp 代码:
public class EFProductRepository : IProductRepository
{
private EFDbContext context = new EFDbContext();
public IQueryable<Product> Products
{
get
{
return context.Products;
}
}
}
public class EFDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
将代码添加到Global.asax文件 Application_Start() 方法:
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
我的控制器:
public class ProductController : Controller
{
private IProductRepository repository;
public ProductController(IProductRepository repoParam)
{
repository = repoParam;
}
public ViewResult List()
{
var products = repository.Products.ToList();
return View(products.AsQueryable());
}
}
当我投射产品 ToList() 时抛出异常
我下载了包含本书代码示例的存档。更改了web.config。启动时,这个解决方案也产生了异常 有人知道是什么问题吗?谢谢!