0

リンクパッドを使用しています。ODATA が接続されています。エンティティは、関係とともに左側のペインに一覧表示されます。Products と Customers という 2 つのエンティティがあります。pid で始まるすべての製品 ID と、b で始まるすべての顧客の名前を取得する必要があります。両者の間には関係があります。製品は顧客の子です。私はどのように行いますか?2日から試していますが、わかりません。誰でも助けることができますか?これがベースコードです。私はさらに何をする必要はありません。

    from p in products
    where p.ProductId.StartsWith("Pid")
    from c in customers
    where c.Name.StartsWith("B")
    select new
    {
        p.Pid,
        c.Name
    };
4

1 に答える 1

0

2 つのエンティティ間の関係がクエリの結果にどのように影響するかを指定していただけますか? 上記は製品 (ID が特定の値で始まる) のみを返し、名前が特定の値で始まる製品の顧客のみを返すと思いますか?

残念ながら、このようなクエリは OData では表現できません。ID が特定の値で始まるすべての製品と、関連するすべての顧客を要求できます。次に、クライアントで顧客をフィルタリングします。

たとえば、これにより、ID が特定の値で始まるすべての製品とそのすべての顧客が取得されます。

from p in products
where p.ProductId.StartsWith("Pid")
select new Product
{
   ProductId = p.ProductId,
   Customers = p.Customers
};
于 2012-06-18T22:46:27.127 に答える