Entity framework 存储库模式与实体框架

Entity framework 存储库模式与实体框架,entity-framework,asp.net-mvc-2,repository-pattern,Entity Framework,Asp.net Mvc 2,Repository Pattern,我想用ASP.NETMVC2和EntityFramework实现存储库模式,但在这个过程中遇到了一些问题 首先,我有两个实体,它们之间有关系,比如订单和产品。当我生成dbml文件时,它为我提供了一个类Order,该类具有映射“产品集”的属性,一个类Product具有映射该产品与其自身相关的顺序的属性 因此,我使用基本CRUD操作创建了我的存储库模式,如iReportory,并在控制器中实现ProductRepository或OrderRepository 当我尝试创建产品并必须在其上分配订单时,

我想用ASP.NETMVC2和EntityFramework实现存储库模式,但在这个过程中遇到了一些问题

首先,我有两个实体,它们之间有关系,比如订单和产品。当我生成dbml文件时,它为我提供了一个类Order,该类具有映射“产品集”的属性,一个类Product具有映射该产品与其自身相关的顺序的属性

因此,我使用基本CRUD操作创建了我的存储库模式,如iReportory,并在控制器中实现ProductRepository或OrderRepository

当我尝试创建产品并必须在其上分配订单时,就会出现问题,如
ProductOne.Order=\u orderRepository.Find(orderId)


该操作给了我一些奇怪的行为,我无法找出它的错误所在。

这个问题有点缺乏细节,但我猜您在两个存储库中使用了两个不同的ObjectContext,而不是一个。您将希望管理ObjectContext的生存期,使其范围限定为单个web请求,并且在该web请求周期的生存期内只有一个ObjectContext

谷歌搜索“web范围的objectcontext”或“objectcontext生存期”


e、 g.

请定义你所说的奇怪行为是什么意思。达林,坦克斯已经解决了。我想说的奇怪行为是,当我对相关实体进行一些更改时,出现了一些不同类型的异常。除此之外,我用另一个答案中解释的方法解决了我的问题,httpcontext共享变量.Thx对于info Hightechrider来说,这正是问题所在,但我是存储库模式的新手,我不知道如何控制它,可能是单例模式,我不知道。有人举过我可以这样做的例子吗?我在一篇文章中添加了一个参考,介绍了管理ObjectContext生命周期的方法。在IMHO中,将其限定为web请求生存期效果良好。