Я работаю над своим первым проектом Breeze Angular (.NET). Я медленно добираюсь туда, но за последние 2 дня у меня возникла следующая проблема.соединительные столы в Breeze JS многие для многих. Как получить data.results
У меня есть 3 таблицы.
[Продукты] 1> м [ProductCategory] м < 1 [Categorys]
ProductCategory представляет собой таблицу Junction/Link, которая имеет ProductID и CategoryID как внешние ключи. Очень просто.
Мне нужно создать список Categorys где ProductID = 3
любая идея, как я могу сделать это с Breeze EntityQuery?
Как выглядит запрос «Бриз»? Это все, что у меня есть.
var query = breeze.EntityQuery
.from("Categorys")
.expand(???)
.where("ProductCategory.ProductID", "==", 3);
Все три таблицы правильно Рельефная Е.Г.
public class Product_Category
{
[Key]
public int ID { get; set; }
[Required]
public int ProductID { get; set; }
[Required]
public int CategoryID { get; set; }
[ForeignKey("CategoryID")]
public Category Categories { get; set; }
[ForeignKey("ProductID")]
public Product Products { get; set; }
}
Простой SQL оператор будет выглядеть следующим образом: -
SELECT ProductCategory.ProductID, ProductCategory.CategoryID,
Categorys.CategoryName FROM
ProductCategory INNER JOIN
Categorys ON
ProductCategory.SubCategoryID = Categorys.SubCategoryID
WHERE (ProductCategory.ProductID = 3)
Я понимаю, что это очень распространенное требование, но попробовать, как я мог бы Я не могу найти решение.
UPDATE
Благодаря Доминику здесь решение выше. В случае, если кто-то еще такой же толстый, как я.
БРИЗ
var query = breeze.EntityQuery
.from("Products_Categories")
.expand("Categories")
.where("ProductID", "==", parseInt(prodid));
Угловая Вид:
<div data-ng-repeat="item in ProductCategory">
<div data-ng-repeat="sub in item.Categories">
<span ng-show="sub.CategoryName.length">{{sub.CategoryName}}</span>
</div>
</div>
Это замечательный Дом! просто, как эй? Я думаю, где я потерялся, был с вложенным циклом на клиенте. Большое спасибо, это хорошо работает. – FatGit