我正在尝试复制我们在 EF CTP4 中使用 NHibernate 的许多做法。
目前我们有一个通用的存储库接口(CTP4 实际上使用 DbContext.Set 使这很容易)。
我们传入上下文并使用 StructureMap 来根据 HttpRequest 对其进行范围。
使用 NHibernate,我们传入 ISession(再次使用 StructureMap 创建),但使用 ActionFilter (UnitOfWork) 在请求结束时提交事务。
我们在 EF CTP4 中是否有等效事务?如果不是,我应该使用相同的过滤器来调用 context.SaveChanges() 还是只在存储库中执行此操作。
在旁注中,测试实体是否是新实体的最简单方法是什么。使用 NH,我们可以轻松调用 ISession.SaveOrUpdate。请注意,我的所有实体都使用 Guid 标识符。也许检查默认(Guid)?
谢谢。