ينق الاستعلام عبر ثلاثة مستويات من الجداول لتوليد مبلغ

StackOverflow https://stackoverflow.com/questions/1813285

  •  06-07-2019
  •  | 
  •  

سؤال

ولدي سلسلة من الجداول التي انضمت مع علاقات المفاتيح الخارجية الابتدائية مفتاح /. لدي جدول المعاملات، ولكل عملية يحيل الى واحد والمنتج واحدا فقط. يمكن أن توجد كل منتج واحد واحد فقط التصنيف:


Categories        Products           Transactions
-------------     -------------      -----------------
CategoryId        ProductId          TransactionId
CategoryName      CategoryId         ProductId
                  ProductName       TransactionAmount
  

وأنا مجرد تعلم LinqToSql، ولقد استعملت تعابير امدا للوصول إلى المنتجات في كل فئة (س => x.Products). ولكن ما أحاول القيام به هو الوصول إلى جدول المعاملات، وتحديدا للحصول على مبلغ من جميع المعاملات حسب الفئة.

وأنا متأكد من أني يمكن أن تفعل ذلك عن طريق إنشاء دليل ينضم في بيان ينق بلدي. ولكن لا يبدو أنني يجب أن يكون للقيام بذلك، حيث يتم انضم كل من الجداول بصفتي PF / FK في النموذج.

ويمكن لأي شخص أن تقدم مثالا على كيفية البدء؟

هل كانت مفيدة؟

المحلول

وبدون محاولة ترجمة ذلك، وأنا أعتقد أن هذا سوف تعمل بالطريقة التي تريدها. ويفترض أن يكون لديك الجمعيات التي أقيمت في LINQ إلى سياق البيانات SQL.

var transPerCategory = db.Categories
                         .Select( c => new {
                             Name = c.CategoryName,
                             Amount = c.Products
                                       .Sum( p => p.Transactions
                                                   .Sum( t => t.TransactionAmount )
                                           )
                          });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top