2

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

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

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

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

我们在 EF CTP4 中是否有等效事务?如果不是,我应该使用相同的过滤器来调用 context.SaveChanges() 还是只在存储库中执行此操作。

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

谢谢。

4

1 回答 1

1

我知道这是一个较晚的答案,您现在已经知道了,但我想它对人们搜索很有用。Rob conery 有一篇关于使用 actionfilter 和 Ef 为每个请求范围创建事务的好帖子。

抢 C 文章

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

于 2011-06-13T09:50:24.067 回答