以下に示すように、Linqを介してMemberMaintenanceDataオブジェクトのリストを取得しようとしています。問題は、m.StartDateがnullの場合はいつでも、NullObjectReferenceエラーがスローされていることです。パラメータがnullの場合、投影リストの作成中にLinqが失敗する
var filteredMembers = from m in members.ToList()
select new MemberMaintenanceData
{
MemberName = m.Name,
SSN = m.SSN,
PlanName = m.PlanName,
EffectiveDate = m.StartDate ?? null,
//EffectiveDate = m.StartDate ?? DateTime.Now,
GroupName = ""
};
public class MemberMaintenanceData
{
public string MemberName { get; set; }
public string SSN { get; set; }
public string PlanName { get; set; }
public DateTime? EffectiveDate { get; set; }
public string GroupName { get; set; }
}
MemberMaintenanceDataのEffectiveDateはnullableとして宣言されており、nullかどうかを確認しています。不思議なEffectiveDate = m.StartDate ?? DateTime.Now行は問題なく動作します。解決方法を教えてください。私はちょうどREPROを実行し、期待どおりに動作します
おかげ
私の最初の推測は、EffectiveDateの宣言の疑問符です。しかし、私は専門家ではありません – user85569
両方のプロパティが 'DateTime?'の場合、なぜ 'EffectiveDate = m.StartDate'をしないのですか?この例外はどこにスローされますか?実際に 'filteredMembers'を使用するコードを表示してください – BrokenGlass