gpt4 book ai didi

c# - 检查枚举和调用存储库方法的更好方法是什么

转载 作者:行者123 更新时间:2023-11-30 14:22:41 26 4
gpt4 key购买 nike

我有一个存储库,它获取不同类型的 IEnumerable

我可以使用:

switch (returnType)
{
case ReturnType.HR:
_repo.GetSystemManuals();
break;
case ReturnType.Finance:
_repo.GetPrivateRecords();
break;
case ReturnType.Dev:
_repo.GetTimeLine();
break;
case ReturnType.Admin:
_repo.GetLedger();
break;
case ReturnType.Support:
_repo.GetRoster();
break;
}

但这违反了 SOLID 的打开/关闭原则。

我的想法之一是创建一个字典,

private static readonly IDictionary<S95Type, IQueryable<Customer>> ReqTypeMapper 
= new Dictionary<S95Type, IQueryable<HR>>();
ReqTypeMapper.Add(ReturnType.HR, _repo.GetHR()());

但不确定如何使用不同的返回类型执行不同的方法..

最佳答案

我认为您应该重新考虑您的设计并为每种类型创建一个存储库。根据定义,存储库不应处理许多不同的实体。这将是一个干净且可维护的解决方案。

关于c# - 检查枚举和调用存储库方法的更好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439973/

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