c# - 如何处理 OData API 的不同可能数据请求的好方法是什么?
问题描述
我有一个具有一个实体和许多属性的 OData API。用户可以选择他想从 API 中检索哪些属性。如何最好地处理这种有多个可能查询的情况?比如说,一个用户想要查看特定重量的项目、特定高度的另一项目,以及特定重量和高度的另一项目。他们没有明确要求的属性将不会显示。
简单而明显的解决方案是为每个可能的查询编写单独的查询。这实际上是一个好方法吗?例如,如果要求重量
var data = context.MyEntity.Where(e => e.weight == userInputWeight);
foreach(var item in data)
{
Console.WriteLine("item_name: " + item.name + " weight: " + item.weight);
}
如果要求高度
var data = context.MyEntity.Where(e => e.height == userInputHeight);
foreach(var item in data)
{
Console.WriteLine("item_name: " + item.name + " height: " + item.height);
}
等等。能否以不同的方式完成,减少非常相似的代码的重复?我正在处理 6 个可能的查询。
解决方案
推荐阅读
- python - 如何按列名python合并两个数据框
- java - json中的Spring多对一
- express - 如何将部分而不是视图返回到前端?我可以在不刷新页面的情况下返回部分内容吗?
- firebase - 继承访问 Firebase 安全规则
- python - Python包Sympy:如何强制单位矩阵的伴随必须等于单位矩阵
- vue.js - 播放从公共 api 获取的 instagram 视频
- python - Python 3.8.5 docker alpine - CompileError: command 'gcc' failed with exit status 1
- python - 如何在 python 中创建一个新的文本文件
- ios - sReto iOS Swift 5.0
- php - 如何下载完整目录并使用 php 解码文件名...?