我已经四处寻找并且没有真正找到关于何时想要使用.First以及何时想要使用.FirstOrDefaultLINQ 的明确答案.
你什么时候想用.First?只有当你想要在没有返回结果的情况下捕获异常时?
var result = List.Where(x => x == "foo").First();
你什么时候想用.FirstOrDefault?如果没有结果,你总是想要默认类型?
var result = List.Where(x => x == "foo").FirstOrDefault();
就此而言,拿什么?
var result = List.Where(x => x == "foo").Take(1);
执行以下linq时,我得到以下异常:
"序列不包含任何元素"
Linq代码:
   newGradeRow[rowCnt + 1 + "Grade " + ExamName] = 
      objDataSet.Tables[1].Rows.Cast<DataRow>()
      .Where(p => Convert.ToDecimal(p["EMG_MARKS_ABOVE"]) <= extSubMarks  
         && extSubMarks <= Convert.ToDecimal(p["EMG_MARKS_BELOW"]))
      .Select(p => Convert.ToString(p["EMG_GRADE_NAME"]))
      .First();
谁可以帮我这个事?
我使用table-per-hierarchy继承创建了一个包含3个类的模型,并使用2个自引用层次结构表的外键创建了一个模型.
我有一个BaseProperty具有自引用键CloneID和导航属性的类Clone:
public class BaseProperty
{
   public int ID {get; set; }
   public int? CloneID {get; set; }
   public BaseProperty Clone {get; set; }
   //If I add this code, when I use Add-Migration - 
   //Sequence contains no elements error
   //public int? TriggeredCloneID {get; set;}
}
我有一个Property继承BaseProperty并具有外键BlockID和Block导航属性的类.
public class Property : BaseProperty
{
   public int? BlockID { get; set; }
   public Block { get; set; }
} …