我正在尝试在EF CTP4中复制我们在NHibernate中使用的许多实践。
目前,我们有一个通用的存储库接口(CTP4实际上通过DbContext.Set使这一点变得非常简单)。
我们传入上下文,并根据HttpRequest使用StructureMap来确定它的作用域。
使用NHibernate时,我们传入ISession (也是使用StructureMap创建的),但在请求结束时使用ActionFilter (UnitOfWork)提交事务。
我们在EF CTP4中是否有等效的事务?如果不是,我应该使用相同的过滤器来调用context.SaveChanges(),还是只在存储库中执行此操作。
顺便说一句,测试一个实体是否是新的最简单的方法是什么?使用NH,我们只需调用ISession.SaveOrUpdate即可。请注意,我的所有实体都使用Guid标识符。也许可以检查默认设置(Guid)?
谢谢。
发布于 2011-06-13 17:50:24
我知道这是一个迟来的答案,你现在应该已经知道了,但我猜它对人们搜索很有用。Rob conery有一篇关于使用actionfilter和Ef为每个请求作用域创建事务的文章。
Rob C Article
哦,是的,我会在测试默认(Guid)的通用存储库上创建一个UpdateInsert()方法。
https://stackoverflow.com/questions/4186483
复制相似问题