我正在开发一个新的api,我正在尝试确定在从数据库返回实体时包含可用选项列表以及所选选项是否是一个好习惯。
以示例为例
class car
{
int Id;
Type Type;
List<Type> Types;
}
class Type
{
int Id;
string Name;
}
我已经看到过两种方式,所以我想知道是否有偏好。
由于
答案 0 :(得分:1)
你的设计错了,让我们看一个例子:
我们有两个车对car1
和car2
,类型为type1
,type2
,type3
。查询汽车列表时的结果对象是:
{car1, type1, {type1,type2,type3}}
{car2, type2, {type1,type2,type3}}
你能看到两次返回同一列表的冗余吗?这是你的设计错误。
如果确实需要,您只需传递该类型的列表,否则您将发送重复数据。
答案 1 :(得分:0)
对我来说,返回汽车类型清单并不是一个好的设计。将汽车视为一个实体,汽车将属于某种类型。当然,正如@DiegoS所提到的那样,会有一些没有价值的冗余。
如果需要,您可以使用单独的API返回汽车的所有有效类型。