我在这里有点问题。我有一个 Linq 语句,可以过滤数据库中的对象列表。
假设我有以下元素列表(每个“{...}”代表列表中的一个对象):
{id: 288, id_price_table: 1},
{id: 295, id_price_table: 1},
{id: 295, id_price_table: 2},
{id: 295, id_price_table: 3}
我有两个参数,一个是“StandardPriceTable”,另一个是“CurrentUserPriceTable”。在我的情况下,这些参数如下:
Int32 StandardPriceTable = 1;
Int32 CurrentUserPriceTable = 2;
现在我想要实现的是:如果 id 是唯一的(因此属于 StandardPriceTable),则创建一个带有条件的 where 子句,它将当前对象返回到列表中。
但是,如果相同的 ID 属于许多 id_price_table ,则它应该验证哪个对象属于 CurrentUserPriceTable,只返回该对象,不包括具有相同 ID 的其他对象。
我知道我可以使用 foreach 语句来实现这一点,但这会导致我暂时要避免的数据库查询。
根据我告诉查询结果的条件将等于: IQueryable具有以下项:
{id: 288, id_price_table: 1},
{id: 295, id_price_table: 2}