C# 基于工作单元模式的实体框架和ADO.NET
我们有一个使用Entity Framework 5构建的系统,用于创建、编辑和删除数据,但我们存在的问题是,有时候EF太慢,或者根本不可能使用Entity Framework(基于参与数据库中某些组的用户为表构建数据的视图,等等)我们必须使用存储过程来更新数据 然而,我们遇到了一个问题,我们必须保存对EF的更改,以便将数据保存在数据库中,然后调用存储过程,我们不能使用ITransactionScope,因为它总是提升到分布式事务,并且/或者在事务期间锁定表以进行选择 我们还试图引入一种DomainEvents模式,它将对事件进行排队,并在保存更改后引发事件,这样我们就可以在数据库中获得所需的数据,但这样一来,第一部分成功,第二部分失败C# 基于工作单元模式的实体框架和ADO.NET,c#,entity-framework,transactions,domain-events,C#,Entity Framework,Transactions,Domain Events,我们有一个使用Entity Framework 5构建的系统,用于创建、编辑和删除数据,但我们存在的问题是,有时候EF太慢,或者根本不可能使用Entity Framework(基于参与数据库中某些组的用户为表构建数据的视图,等等)我们必须使用存储过程来更新数据 然而,我们遇到了一个问题,我们必须保存对EF的更改,以便将数据保存在数据库中,然后调用存储过程,我们不能使用ITransactionScope,因为它总是提升到分布式事务,并且/或者在事务期间锁定表以进行选择 我们还试图引入一种Domai
有什么好的方法来处理这个问题吗?或者我们需要完全离开EF来解决这个问题吗?我也有类似的情况。后来,我将流程分解为几个小流程,只使用EF,并缩短每个小流程。即使总体时间更长,但系统更易于维护和扩展。我还最小化了连接,只更新实体本身,禁用EF的AutoDetectChangesEnabled和ValidateOnSaveEnabled。
有时候,如果你用不同的方式看待你的问题,你可能会有更好的解决办法。
祝你好运 我也有类似的情况。后来,我将流程分解为几个小流程,只使用EF,并缩短每个小流程。即使总体时间更长,但系统更易于维护和扩展。我还最小化了连接,只更新实体本身,禁用EF的AutoDetectChangesEnabled和ValidateOnSaveEnabled。
有时候,如果你用不同的方式看待你的问题,你可能会有更好的解决办法。 祝你好运