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

具有多个edmx的实体框架分享

时间:2023-04-10 21:31:04 C#

具有多个edmx的实体框架假设我的数据库中有多个数据库模式,例如:HumanRessources和Inventory。在每个模式中包含多个表。您是否经常将数据库拆分为多个edmx,或者通常只是将所有内容都放在一个edmx中?我正在考虑为每个模式创建一个edmx,但想知道这将如何影响unitorwork模式。通过阅读一些文章,ObjectContext将成为工作单元。通过定义2个edmx,我将得到2个ObjectContext:HumanRessourceContext和InventoryContext,这意味着每个都是一个工作单元。如果我希望对HR中的实体和库存上下文中的实体的所有修改都是原子的,这可以通过单元模式实现吗?虽然这不是通过模式将数据库拆分为EDMX的认可,但您可以使用TransactionScope使更新原子化:using(TransactionScopetrans=newTransactionScope()){using(HumanResourceshr=newHumanResources()){//...hr.SaveChanges();}using(Inventoryinv=newInventory()){//...inv.SaveChanges();}trans.Complete();显然,您可以根据需要重新排列上下文对象(例如,如果您需要同时使用它们),并且您可以将事务隔离级别更改为任何合适的级别,但这应该给您提供您需要知道的信息。为了使您的数据库更改为primefaces。如果你的Inventory和HumanResources表之间没有任何关系,将表拆分成两个edmx文件就可以了,但我不知道它会带来什么好处。如果他们确实有直接或间接的关系,你就会在尝试使用这些关系时遇到问题。最简单的解决方案是使用单个EDM。以上就是C#学习教程:实体框架与多个edmx分享的全部内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: