Службы данных ADO.NET: Как отфильтровать сущность на основе внешних ключей?

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

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

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 ответ

Решение

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

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

С уважением.

Другие вопросы по тегам