Entity framework 实体框架错误:找不到概念模型类型
它抛出一个异常,表示“找不到sportstore.Domain.Concrete.ORM.Product的概念模型类型。”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.edmx文件有关,但这本书只是将该文件视为已经存在,实际上它并不存在。所以我必须自己创建ORM,然后抛出异常。我不知道;我不知道如何检查这个问题,thx..我也在翻阅这本书(Pro Asp.Net MVC 3 Framework),发现了同样的错误/问题 似乎作者从使用
ObjectContext
切换到了“DbContext”(或者反过来),并且没有清理他的示例。前者是EntityFramework 4.0中较旧的API,后者是4.1中的APIDbContext
也是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);
}