ADO.NET Data Services: как отфильтровать сущность на основе внешних ключей? - PullRequest
1 голос
/ 22 апреля 2009

Это может быть вопрос, связанный с платформой сущностей, в любом случае, вот так:

Рассмотрим следующую простую схему базы данных:

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)
)

Я хочу фильтровать товары по поставщикам и категориям. Обычно я просто предоставляю идентификатор категории и идентификатор поставщика, но поскольку я предоставляю свою базу данных через EF, службы данных не позволяют мне делать что-то вроде этого:

$filter=SupplierId eq 1 and CategoryId eq 2

Это похоже на довольно распространенный сценарий, поэтому это должно быть возможно. Но как?

1 Ответ

2 голосов
/ 22 апреля 2009

Оказывается, это довольно просто, вот как это делается:

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

Привет.

...