Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架错误:找不到概念模型类型_Entity Framework_Entity Framework 4 - Fatal编程技术网

Entity framework 实体框架错误:找不到概念模型类型

Entity framework 实体框架错误:找不到概念模型类型,entity-framework,entity-framework-4,Entity Framework,Entity Framework 4,它抛出一个异常,表示“找不到sportstore.Domain.Concrete.ORM.Product的概念模型类型。” 我猜它与我手动添加的SportStore.edmx文件有关,但这本书只是将该文件视为已经存在,实际上它并不存在。所以我必须自己创建ORM,然后抛出异常。我不知道;我不知道如何检查这个问题,thx..我也在翻阅这本书(Pro Asp.Net MVC 3 Framework),发现了同样的错误/问题 似乎作者从使用ObjectContext切换到了“DbContext”(或者反

它抛出一个异常,表示“找不到sportstore.Domain.Concrete.ORM.Product的概念模型类型。”
我猜它与我手动添加的SportStore.edmx文件有关,但这本书只是将该文件视为已经存在,实际上它并不存在。所以我必须自己创建ORM,然后抛出异常。我不知道;我不知道如何检查这个问题,thx..

我也在翻阅这本书(Pro Asp.Net MVC 3 Framework),发现了同样的错误/问题

似乎作者从使用
ObjectContext
切换到了“DbContext”(或者反过来),并且没有清理他的示例。前者是EntityFramework 4.0中较旧的API,后者是4.1中的API
DbContext
也是
ObjectContext
的包装器,所以它们做同样的事情

如果您查看第10章的代码示例,您可以看到他使用实体数据模型(.edmx)来建立数据库和模型之间的连接,而在本书中,直到那时,他使用了
DbContext
的“代码优先”方法

事实上,第9章的这一节是他唯一一次提到
Concrete/ORM
文件夹和这个.edmx模型,这进一步证明了这是本书上一次迭代中留下的东西

总而言之:您不需要这个.edmx模型文件,您不需要更新概念模型。框架应该能够将代码中的
产品
模型的各个部分连接到数据库中的产品表

这里有一个相关的问题可以提供一些见解:

 public ViewResult List(string category,int page = 1)
    {
        ProductsListViewModel viewModel = new ProductsListViewModel
        {
            Products = repository.Products
            .Where(p => category == null || p.Category == category)
            .OrderBy(p => p.ProductID)
            .Skip((page - 1) * PageSize)
            .Take(PageSize),

            PagingInfo = new PagingInfo
            {
                CurrentPage = page,
                ItemsPerPage = PageSize,
                TotalItems = category == null?repository.Products.Count():repository.Products.Where(e => e.Category == category).Count()
            },

            CurrentCategory = category
        };
        return View(viewModel);
    }