我有一个模型,我想从除EF Core之后的数据库以外的其他源中加载其列之一,例如MongoDb。
问题是我无法确定如何在EF Core中覆盖查询执行。对于“保存”,这是确定的,因为EF Core允许我们覆盖SaveChanges
并执行自己的逻辑。
对于阅读部分,我决定通过其getter访问器延迟加载列。目标是在我们的代码中进行尽可能少的更改(我们有许多使用EF Core加载项目的项目,并且我不想以破坏该特定对象的所有查询的方式更改代码)。 >
但是如何将我的MongoDb服务注入模型?对于ASP.Net Core,我们可以创建自定义模型绑定程序,但是对于EF Core,如何让自定义模型绑定程序或模型创建者注入服务以进行建模?我可以使用像Ninject或AutoFac这样的依赖注入器吗(我只是听说过它们,对它们没有任何经验)?它们可以与EF Core一起使用吗?
我有一个模型,我想从除EF Core之后的数据库以外的源(例如MongoDb)中加载其列之一。问题是我不知道如何在...
您的设计从根本上被破坏了。 EF Core是一种用于关系数据库的ORM,特别是每个上下文只能在一个数据库上使用。您应该通过EF Core代码(而不是通过内部使用EF Core和MongoDB驱动程序的某种服务类)来进行多个数据源的组合。您的应用程序代码应然后利用此服务,而不是直接使用EF Core。试图将其破解到上下文代码中是100%错误的方法。