Службы данных 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
С уважением.