2009-04-22 6 views
1

Cela pourrait être une question cadre d'une entité apparentée, de toute façon, va ici:ADO.NET Data Services: Comment filtrer une entité à partir de clés étrangères?

Tenir compte du schéma de base de données simple:

CREATE TABLE Supplier(
    SupplierId int identity(1,1) not null primary key, 
    DisplayName nvarchar(50) 
) 

CREATE TABLE Category(
    CategoryId int identity(1,1) not null primary key, 
    DisplayName nvarchar(50) 
) 

CREATE TABLE Product(
    ProductId int identity(1,1) not null primary key, 
    SupplierId int references Supplier.SupplierId, 
    CategoryId int references Category.CategoryId, 
    DisplayName nvarchar(50) 
) 

Ce que je veux est de filtrer les produits à base d'un fournisseur et une catégorie. Normalement, je voudrais juste donner un identifiant de catégorie et un identifiant de fournisseur, mais depuis que je suis exposais ma base de données par EF, Data Services ne me permettent pas de faire quelque chose comme ceci:

$filter=SupplierId eq 1 and CategoryId eq 2 

Cela semble être un scénario assez commun, donc ça doit être possible. Mais comment?

Répondre

2

Il se trouve qu'il est assez facile, voici comment cela se fait:

$filter=Product/Supplier/SupplierID eq 1 and Products/Category/CategoryID eq 1 

Cordialement.

Questions connexes