2014-09-03 140 views
-2

任何人都可以幫我把我的SQL查詢翻譯成LINQ嗎?我不擅長linq,任何人都可以幫我解決這個問題。SQL查詢LINQ轉換

select 
    s.UploadFilename , 
    a.ID, 
    isnull(s.Status_id,1) as 'Status_id' , 
    a.CaseID, 
    a.RecordType, 
    a.ColumnName, 
    a.FieldName, 
    a.OldValue, 
    a.NewValue, 
    a.ModifiedBy, 
    A.ModifiedOn, 
    isnull(u.UserName,'') as 'UserName' 
from [dbo].[AuditTrail] as A 
left join Case_Status as s 
    on s.Case_Id=A.CaseID 
left join [dbo].[User] as u 
    on a.ModifiedOn =u.UserID 
where A.CaseID=5338 
+0

你嘗試過什麼了嗎? – DavidG 2014-09-03 13:28:31

+0

linq查詢已經寫入了它有一些錯誤,所以我寫了sql查詢 – suraj 2014-09-03 13:29:52

+1

然後向我們展示Linq查詢並解釋錯誤是什麼。本網站旨在幫助您解決問題,而不是爲您編寫代碼。 – DavidG 2014-09-03 13:32:03

回答

0

這不是答案,我的查詢很大,它不接受這個查詢作爲評論。

這個查詢沒有返回記錄:

var AuditTrailFile = (from AT in db.AuditTrails 
             join ATCS in db.AssnAuditTrailCaseStatus 
             on new {ID = AT.ID} equals new { ID = (int)(ATCS.AuditTrialID) } 
             into ATCS_join 
             from ATCS in ATCS_join.DefaultIfEmpty() 
             join CS in db.Case_Status on new { Case_StatusId = (int)(ATCS.CaseStatusID) } 
             equals new { Case_StatusId = CS.Case_StatusId } into CS_join 
             from CS in CS_join.DefaultIfEmpty() 
             where 
             AT.CaseID == CaseID 
             orderby 
             AT.ModifiedOn descending 
             select new 
             { 
              ID = (int?)AT.ID, 
              Case_StatusId = CS.Case_StatusId != null ? CS.Case_StatusId : 1, //Case_StatusId comes for row whose FieldName=Status Else No Case_StatusId 
              AT.CaseID, 
              AT.RecordType, 
              AT.ColumnName, 
              AT.FieldName, 
              AT.OldValue, 
              AT.NewValue, 
              AT.ModifiedBy, 
              UserName = AT.User != null ? AT.User.UserName : "", 
              AT.ModifiedOn, 
              UploadFilename = CS.UploadFilename 
             }).ToList(); 
+0

編輯你的問題,不要發佈答案。 – DavidG 2014-09-03 16:29:09