【发布时间】:2018-06-02 21:45:55
【问题描述】:
我想为下面的组合图写SQL存储过程或ASP.net的最佳组合登录。
图表中的每个字段都有 4 种组合。因此,总共将是 20 种组合。我,不想在 SQL server 或 c# 中写 20 if else 语句。
用户可以选择引用编号或20等的组合。我不想写20 if else语句。
他们有没有更好的方法来用 SQL 或 C# 编写语句以使其更好。
例如 用户可以从报价单编号或机构名称或开始日期或结束日期或两个或多个字段的组合中进行选择。
编写算法的最佳方法是什么? 这是组合
1- 仅按报价单号搜索
2- 仅按代理编号搜索
3- 仅按开始日期搜索
4- 仅按结束日期搜索
5- 仅按合同编号搜索
6 - 报价单号 + 代理商号
7 - 报价单号 + 开始日期
8 - 报价单号 + 结束日期
9 - 按所有字段选择
【问题讨论】:
-
您只需动态构建查询。
IQueryable<T> data = db.T; if (agencyName.HasValue) { data = data.Where(x => x.AgencyName == agencyName.Value)等 -
你的意思不是 20 种组合,而是 4^5 所以 1024 种组合。
标签: c# sql sql-server asp.net-mvc stored-procedures