gpt4 book ai didi

c# - 如何避免在使用 MVVM 的 .NET 中使用大量 dbcontext?

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:56 25 4
gpt4 key购买 nike

我正在尝试学习使用 MVVM 模式在 .NET 中构建 Web 应用程序。我看了一些教程,但只有一件事我不明白。

每个 ViewModel 包含:

public class IndexModel : PageModel
{
private readonly ApplicationDbContext _dbContext;

public IndexModel(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}

..
}

当您有几页(最多 10 页)时复制粘贴此内容很好,但我的应用程序开始增长并且使用此方法开始感觉非常多余。

我找不到另一篇回答我问题的帖子,但我想知道是否有任何其他方法可以在每个 ViewModel 上使用 _dbContext 而不必使用这种冗余?我对设计模式不是很熟悉,但我的初创公司可以选择单例模式吗?

最佳答案

添加一个继承自 PageModel 的自定义基类。然后从自定义基类继承所有模型。

public abstract class MyBasePageModel : PageModel
{
protected readonly ApplicationDbContext _dbContext;
public MyBaseModel(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}
}


public class IndexModel : MyBasePageModel
{
public IndexModel(ApplicationDbContext dbContext):base(dbContext)
{
//
}
}

关于c# - 如何避免在使用 MVVM 的 .NET 中使用大量 dbcontext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50493729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com