تبدیل کد کوئری sql به LINQ
سلام دوستان عزیز.
وقت بخیر.
یک کوئری دارم که خودم نتونستم کد LINQ یا Lambda بنویسم :ناراحت::ناراحت::ناراحت:
ممنون می شوم راهنمایی کنید.
DECLARE @myHID BIGINT;
SET @myHID = 1;
WITH tblChild AS
(
SELECT *
FROM wbs.WBS w WHERE w.ParentId = @myHID
UNION ALL
SELECT w2.* FROM wbs.WBS w2 JOIN tblChild ON w2.ParentId = tblChild.hID
)
SELECT
tblChild.hID , Unit.ID, w3.wbsName + ' * ' + tblChild.wbsName as structure , tblChild.FK_WbsBaseStructure_hID , tblChild.parentID , unitNumber , unitTitle , FK_UsageItem_ID, usageTitle , nominalArea
FROM tblChild
inner join unit.Unit on tblChild.hID = Unit.FK_WBS_hID
inner join unit.UsageItem on Unit.FK_UsageItem_ID = UsageItem.ID
left join wbs.WBS w3 on tblChild.parentID = w3.hID
نقل قول: تبدیل کد کوئری sql به LINQ
در کوئریهای برگشتی مثل with شما میبایست تیکه سلکت داخل ویت رو بنویسید سپس بر روی دیتای اون کوئری بیرون ویت رو بنویسید:
برای مثال یونیون :
var result = entity.TblSayacOkumalari
.Select(x => new
{
Date = x.date,
TotalUsage = x.total_usage_T1,
UsageType = "T1"
})
.Union(entity.TblSayacOkumalari.Select(x => new
{
Date = x.date,
TotalUsage = x.total_usage_T2,
UsageType = "T2"
}));
برای مثال جوین چند گانه :
var result = from a in Context.DGApprovedLink
join h in Context.DGHost on a.HostID equals h.ID
join c in Context.DGConfig on a.ResponseCode equals c.SubType
where c.Type == "HTTP Status"
select new {
a.ID,
a.HostID,
h.URL,
a.SourceURL,
a.TargetURL,
c.Value,
a.ExtFlag };
نقل قول: تبدیل کد کوئری sql به LINQ
سلام دوست عزیز. من در این مورد بسیار مبتدی هستم، اگه می شود مثالی که توضیح دادید را بر روی کوئری که در سوال مطرح کردم، بیان کنید، خیلی ممنون می شوم.
نقل قول:
نوشته شده توسط
parvizwpf
در کوئریهای برگشتی مثل with شما میبایست تیکه سلکت داخل ویت رو بنویسید سپس بر روی دیتای اون کوئری بیرون ویت رو بنویسید:
برای مثال یونیون :
var result = entity.TblSayacOkumalari
.Select(x => new
{
Date = x.date,
TotalUsage = x.total_usage_T1,
UsageType = "T1"
})
.Union(entity.TblSayacOkumalari.Select(x => new
{
Date = x.date,
TotalUsage = x.total_usage_T2,
UsageType = "T2"
}));
برای مثال جوین چند گانه :
var result = from a in Context.DGApprovedLink
join h in Context.DGHost on a.HostID equals h.ID
join c in Context.DGConfig on a.ResponseCode equals c.SubType
where c.Type == "HTTP Status"
select new {
a.ID,
a.HostID,
h.URL,
a.SourceURL,
a.TargetURL,
c.Value,
a.ExtFlag };