Tôi đang làm việc trong một dự án sở thích có tên Menu / Recipe Management.
Đây là cách các thực thể của tôi và mối quan hệ của họ trông như thế nào.
A Nutrient
có tính chất Code
vàValue
An Ingredient
có một bộ sưu tậpNutrients
A Recipe
có Bộ sưu tập Ingredients
và đôi khi có thể có bộ sưu tập khácrecipes
A Meal
có Bộ sưu tập Recipes
vàIngredients
A Menu
có Bộ sưu tậpMeals
Các mối quan hệ có thể được mô tả như là
Trong một trong các trang, đối với menu đã chọn, tôi cần hiển thị thông tin chất dinh dưỡng hiệu quả được tính dựa trên thành phần của nó (Bữa ăn, Bí quyết, Thành phần và các chất dinh dưỡng tương ứng).
Hiện tại tôi đang sử dụng SQL Server để lưu trữ dữ liệu và tôi đang điều hướng chuỗi từ mã C # của mình, bắt đầu từ mỗi bữa ăn của menu và sau đó tổng hợp các giá trị dinh dưỡng.
Tôi nghĩ rằng đây không phải là một cách hiệu quả vì việc tính toán này được thực hiện mỗi khi trang được yêu cầu và các thành phần thỉnh thoảng thay đổi.
Tôi đã suy nghĩ về việc có một dịch vụ nền duy trì một bảng gọi là MenuNutrients ( {MenuId, NutrientId, Value}
) và sẽ đưa vào / cập nhật bảng này các chất dinh dưỡng hiệu quả khi bất kỳ thành phần nào (Bữa ăn, Công thức, Thành phần) thay đổi.
Tôi cảm thấy rằng một GraphDB sẽ phù hợp với yêu cầu này, nhưng khả năng tiếp xúc với NoQuery của tôi bị hạn chế.
Tôi muốn biết các giải pháp / cách tiếp cận thay thế cho yêu cầu này là hiển thị các chất dinh dưỡng của một menu nhất định.
Hy vọng mô tả của tôi về kịch bản là rõ ràng.