需要建议 - ASP.NET Core MVC / C# 项目的设计存储库

问题描述 投票:0回答:0

我之前几乎没有使用过设计模式、接口和.NET Core,所以我需要一些建议来为我当前的项目获得良好的设计。

我创建了一个标准的 ASP.NET Core MVC 网站,需要它访问不同数据库的数据。我打算将数据库访问放在一个单独的类库项目中作为存储库,以实现松散耦合,并能够在将来如有必要更改任何数据实现。

为此,我只是在 SQL Server 中使用普通 SQL,而不是 Entity Framework Core,以便更好地理解和掌握我正在做的 SQL。

该网站有一个左侧边栏,其中有不同的菜单选项,可以为多个授权用户访问不同的数据库。目前,第一个功能是根据数据库中的数据创建 XML 文件,第二个功能是更新另一个数据库中表中的现有数据。未来,MVC 将像一个控制台,供用户执行更多自动化工作。

我的问题:

  1. 我应该为每个特定数据库的每个存储库创建一个类库,还是只为每个特定数据库创建一个巨大的类库,其中每个特定数据库都存在不同的接口和实现?

  2. 我引用了ASP.NET Core MVC项目中的类库。我可以为 ASP.NET Core MVC 项目中的

    Program.cs
    中的每个特定存储库创建具有依赖注入的实例吗?它会看到类库中的类吗?

  3. 另外,是否建议将依赖容器中的构建器服务设置为

    AddScoped
    ?还是
    AddSingleton

  4. 我还想知道将存储库实现为 Web API 是否不是更好...只是来回传递 Json

我正在使用 Visual Studio 2022、.NET Core 6。

提前感谢您的任何帮助/建议

c# .net-core dependency-injection repository
© www.soinside.com 2019 - 2024. All rights reserved.