我创建了一个使用 LinqToSql 的控制台应用程序。它工作得很好,但我觉得这是一种代码味道。这是我的 linq 查询:
var personnelInfo = Personnels.Where(p => p.Name.Equals("Steve Jobs"));
现在,我想报告该对象的各个字段。这是我觉得是代码气味:
Console.WriteLine(String.Format("Emp ID = {0}", personnelInfo.Select(p => p.EmpID).FirstOrDefault()));
Console.WriteLine(String.Format("Phone# = ({0}) {1}-{2}",
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(0,3),
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(3,3),
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(6,4)));
Console.WriteLine(String.Format("City = {0}", personnelInfo.Select(p => p.City).FirstOrDefault()));
这可以重构吗?