当前位置: 首页 > 编程语言 > C#

使用entityframework使用repository和unitwork模式正确部署?分享

时间:2023-04-10 19:59:36 C#

Usingentityframeworkusingrepositoryandunitworkmode正确处置?干杯!我对使用工作单元和存储库有点怀疑。特别是实体框架子上下文中的角色。我搜索了很多关于这个主题的内容,但我发现的只是不同类型的使用模式,我很困惑,无法理解主要思想。1.我应该在哪里实现处置和储蓄?-是否在DbContext的继承类中正确实现了Disposable?之后它是在存储库和工作单元中实现还是仅在Unifowork中实现?–将方法存储在工作单元中还是存储库中?我的存储库将是通用的我的代码在架构风格和其他细节方面是否正确?请告诉我,如果我的想法是错误的。接口IRepository:IDisposable{voidCreate();无效删除();无效更新();无效获取();TgetSomeByExpression()...一些其他的costum操作...我应该记得在这里保存吗?}classRepository:IRepository{SomeContextcontext=newSomeContext();...在函数中使用using(context=newSomeContext()){}??…………处置?}interfaceIUnitOfWork:IDisposable{...我应该实现哪些方法?Commit()Save()...需要一些其他方法,如回滚、Attach()Add()或Dispose或其他方法?}classUnitOfWork{...存储库的集合}在逻辑级别的工作单元之后使用?请帮助我理解这个话题。我想知道如何正确使用工作单元和存储库模式,尤其是包括DBContext。我还想知道在哪里使用像Dispose这样的操作。UnitOfWork中通常应该执行哪些操作,保存等。存储库中的上下文如何处理?这是一篇关于使用MVC实现工作单元的好文章。我通常在业务交易完成后处理该设备。例如,如果操作是创建父项、一些子项并附加它们,我会在完成后立即执行。添加了与上述内容相关的更多详细信息:在重读您的问题时,听起来您想要更多关于工作单元理论的信息而不是实际实施,我很抱歉。MSDN上有一篇更好的文章,但我会为您总结一下。根据MartinFowler的说法,工作单元模式“维护受业务事务影响的对象列表,并协调编写更改和解决并发问题。“通常,我使用工作单元模式将所有相关的存储库放在一起以解决并发问题,同时仍然保持存储库独立。使用工作单元模式的最佳方法之一是允许不同的类和服务参与一个单个逻辑事务。这里的关键点是你希望不同的类和服务在能够参与单个事务的同时保持彼此无知。我不确定我是否完全理解你的问题,但我认为你在问什么应该管理一个工作单元生命周期?这是另一个与此相关的SOpost,但抽象是当前具有工作单元的任何东西,它与你如何确定工作单??元的范围有关。例如,它可以是一个业务命令或MVC操作。你是说,你应该在哪里处理DbContext?我认为它应该属于工作单元。如果你在一个工作单元中创建/处理多个上下文,也许你应该将它们分成两个不同的单元。你的工作单元处理context和transaction,并且应该包含防止重复更新的逻辑,所以你的保存功能应该由你的工作单元控制。以上就是C#学习教程:使用entityframework使用repository和unitworkmode如何妥善处置?很有用,需要多了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: