1

我正在学习 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。启动时,这个解决方案也产生了异常 有人知道是什么问题吗?谢谢!

4

0 回答 0