是否可以创建基础EF DbContext并在许多服务中使用它?

时间:2019-12-30 07:30:14

标签: c# .net entity-framework asp.net-core microservices

我尝试在我的项目中实现微服务架构。我想知道我是否可以为Depedency Injection创建1种方法,以便在许多服务中实现EntityFrameworkCore,所以我没有干。

因此,我的想法是,我仍然会创建自己的DbContext,并且当我要注册它时,我只是将其放在json文件中,并在services.UseSql()和{ {1}}正在使用startup.cs文件中的配置。

我要说的是类似通用UseSql的内容。

我有一些例子,但是正在使用MongoDb:

示例

.json

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题陈述,则您希望多个微服务连接到同一数据库。正如上面的评论所建议的那样,您实际上不应该这样做,因为您实际上是在通过数据层耦合微服务-如果微服务成长为不兼容的数据层,可能会很混乱。这将消除该体系结构的许多好处,并让您去烦恼。因此,如果确实如此,您可能要考虑重新访问架构,并尝试确定是否需要一个新的微服务来支持该公共数据存储并将其提供给其他人。

但是,实际上,有时您有时必须在项目之间共享代码,并且有一种正式的方法:提取公共代码into a nuget package,将其托管在私有企业存储库中的某个位置(如果需要),然后从您的参考中其他项目。