Md *_*din 0 .net c# linq linq-to-sql
这是我的Linq查询.这很好用.问题是如果表中没有任何姓氏,则结果中不显示该行.我想如果任何人没有姓,那么它将是User_Name = First Name +"".
var ShowFiles = from cm in db.Contact_Masters
join ta in db.Topic_Accesses on cm.Contact_ID equals ta.Contact_ID
join RelMess in db.Rel_Topics_Messages on ta.Topic_ID equals RelMess.Topic_ID
join Messages in db.Messages on RelMess.Message_ID equals Messages.Message_ID
join Files in db.Files on Messages.Message_ID equals Files.Message_ID
join FileType in db.Lkup_Files_Extensions on Files.TypeID equals FileType.TypeID
join FileVersion in db.File_Versions on Files.File_ID equals FileVersion.File_ID
join pcf in db.Contact_Personals on Messages.Contact_ID equals pcf.Contact_ID
where pcf.Personal_Type == new Guid("30102333-2104-40D7-8913-DC9048225D12") // Personal_Type = First Name ID
join pcl in db.Contact_Personals on Messages.Contact_ID equals pcl.Contact_ID
where pcl.Personal_Type == new Guid("9058F268-B707-4B0A-86E5-26E83A4BC1F5") // Personal_Type = Last Name ID
where cm.Contact_ID == new Guid(ContactID) && ids.Contains(RelMess.Topic_ID)// parameters
&& FileVersion.IsActive == true && Messages.IsActive == true && FileVersion.Version_ID == (from FileV in db.File_Versions
where FileV.File_ID == Files.File_ID
&& FileV.Message_ID == Messages.Message_ID
&& FileV.IsActive == true
select FileV.Version_ID).Max()
select new
{
File_Name = Convert.ToString(Files.File_Name),
Version_ID = Convert.ToString(FileVersion.Version_ID),
File_Size = Convert.ToString(FileVersion.File_Size),
Created = Convert.ToString(FileVersion.Created),
Type = FileType.Type,
File_URL = FileVersion.File_URL,
File_ID = Convert.ToString(FileVersion.File_ID),
User_Name = pcf.Value + " " + pcl.Value
};
Run Code Online (Sandbox Code Playgroud)
谢谢
Nahid
请尝试以下方法:
User_Name = pcf.Value +
(pcf.Value != null && pcf.Value.Trim() != string.Empty ? " " + pcl.Value : "")
Run Code Online (Sandbox Code Playgroud)
编辑:删除了IsNullOrWhiteSpace的使用,谢谢Jacek
归档时间: |
|
查看次数: |
165 次 |
最近记录: |