EF CTP4何时调用context.SaveChanges

时间:2010-11-15 16:26:21

标签: entity-framework-4 ctp4 ef-code-first

我正在尝试复制我们在EF CTP4中使用NHibernate的许多实践。

目前我们有一个通用的存储库接口(CTP4实际上使用DbContext.Set非常容易。)

我们正在传递上下文并使用StructureMap来根据HttpRequest对其进行范围化。

使用NHibernate,我们传入ISession(再次使用StructureMap创建),但使用ActionFilter(UnitOfWork)在请求结束时提交事务。

我们在EF CTP4中有等效的交易吗?如果没有,我应该使用相同的过滤器来调用context.SaveChanges()或者只是在存储库中执行此操作。

另一方面,最简单的测试方法是查看实体是否是新实体。使用NH,我们可以轻松调用ISession.SaveOrUpdate。请注意,我的所有实体都使用Guid标识符。也许是默认检查(Guid)?

感谢。

1 个答案:

答案 0 :(得分:1)

我知道这是一个迟到的答案,你现在已经想到了,但我猜它对搜索人有用。 Rob conery在使用actionfilter和Ef为每个请求范围创建事务时有很好的帖子。

Rob C Article

哦,是的,我会在一个测试默认值(Guid)的通用存储库上创建一个UpdateInsert()方法。