[ad_1]
مرحبًا أيها الخبراء، لدي سلسلة من الأكواد بتنسيق SQL Query، وفي هذا الكود قمت بضم 3 جداول معًا.
هنا هو الكود الخاص بي:
select distinct(t.UserNO),t.UserName,s.TotalDays from User_Tbl as t join( select ChartNo from Chart_Rest_Tbl) as f ON t.UserNO = f.ChartNo join(select ChartNO, sum(Days) as TotalDays from Chart_Rest_Tbl group by ChartNo) AS s ON f.ChartNO = s.ChartNo
الآن أريد أن أكتب الكود أعلاه بتنسيق C#، مثل هذا الكود (أعني كيفية كتابة الكود أعلاه بتنسيق C#، الكود أدناه هو مجرد مثال وليس لدي أي علاقة بالكود أدناه):
var st = (from s in db.Worker_Tbl join o in db.User_Tbl on s.WorkerNO equals o.UserNO where o.UserNO == txtsearch1 select new { s.WorderId, o.UserName, s.WorkerNO, s.GPEntireDate, s.GPExpiredDate, s.GPCount }).ToList();
ما حاولت:
لا أعرف كيف أكتب
SUM(Days)
بتنسيق C# أو كيفية الكتابة
distinct
شكرا لك على وقتك <3
الحل 1
إليك تنسيق LINQ في C# من استعلام SQL الخاص بك.
ج #
var query = from t in dbContext.User_Tbl join f in dbContext.Chart_Rest_Tbl.Select(x => x.ChartNo).Distinct() on t.UserNO equals f join s in dbContext.Chart_Rest_Tbl.GroupBy(x => x.ChartNo) .Select(g => new { ChartNO = g.Key, TotalDays = g.Sum(x => x.Days) }) on f equals s.ChartNO select new { UserNO = t.UserNO, UserName = t.UserName, TotalDays = s.TotalDays }; var result = query.Distinct().ToList();
لتعديل أو مرجع إضافي، يمكنك تجربة الأدوات التالية لتحويل استعلام SQL الخاص بك إلى تنسيق LINQ في C#:
LINQPad – ساحة لعب مبرمجي .NET[^]
الصفحة الرئيسية – لينكير[^]
الحل 2
ج #
string sql = @" select distinct(t.UserNO),t.UserName,s.TotalDays from User_Tbl as t join( select ChartNo from Chart_Rest_Tbl) as f ON t.UserNO = f.ChartNo join(select ChartNO, sum(Days) as TotalDays from Chart_Rest_Tbl group by ChartNo) AS s ON f.ChartNO = s.ChartNo " ;
[ad_2]
コメント