C# 如何处理ODataAPI的不同可能数据请求的好方法是什么?
我有一个具有一个实体和多个属性的ODataAPI。用户可以选择要从API检索的属性。如何最好地处理存在多个可能查询的情况?比如说,一个用户希望看到特定重量的物品,另一个特定高度的物品,还有另一个特定重量和高度的物品。不会显示他们没有明确要求的属性 简单而明显的解决方案是为每个可能的查询编写一个单独的查询。这真的是一个好方法吗?例如,如果要求重量C# 如何处理ODataAPI的不同可能数据请求的好方法是什么?,c#,odata,C#,Odata,我有一个具有一个实体和多个属性的ODataAPI。用户可以选择要从API检索的属性。如何最好地处理存在多个可能查询的情况?比如说,一个用户希望看到特定重量的物品,另一个特定高度的物品,还有另一个特定重量和高度的物品。不会显示他们没有明确要求的属性 简单而明显的解决方案是为每个可能的查询编写一个单独的查询。这真的是一个好方法吗?例如,如果要求重量 var data = context.MyEntity.Where(e => e.weight == userInputWeight); for
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);
}
如果要求高度
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个可能的查询。为什么数据的检索被视为表示层的一个关注点?为什么不检索所有6个属性,然后让表示层显示用户想要看到的内容?@Igor你说得对,我应该坚持检索所有属性。在控制台应用程序中,除了为每个查询编写一个单独的
控制台。WriteLine
之外,我还能在显示数据方面做些什么?