あまり良くないため、リファクタリングしようとしている linq コードがいくつかあります。
基本的に、次のことを実行するためのより良い方法があるかどうか疑問に思っています。
if (!string.IsNullOrWhiteSpace(_filter.AssignedTo)
{
var query = from ticket in dataClassesDataContext.TicketsIssues
where ticket.ClosedDate == null
&& cUser.GetUserNameUsingGUID(ticket.AssignTicketToUser) == _filter.AssignedTo
select new
{
Priority = ticket.TicketPriority.TicketPriorityName,
Description = ticket.Description.Replace("\n", ", "),
};
}
else
{
var query = from ticket in dataClassesDataContext.TicketsIssues
where ticket.ClosedDate == null
select new
{
Priority = ticket.TicketPriority.TicketPriorityName,
Description = ticket.Description.Replace("\n", ", "),
};
}
これらは、where 句が AssignTicketToUser のチェックであることを除けば、どちらも同一です。
if else ステートメントを使用する必要がないように、これを行うためのより良い方法があることを願っていますか? 私はこれらのコードブロックをいくつか持っていますが、コードをたくさん複製したくありません!