sql查询到linq转换

时间:2014-09-03 13:26:39

标签: sql linq

任何人都可以帮我翻译我的SQL查询到linq吗?我对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

1 个答案:

答案 0 :(得分: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();