我的项目使用ef和reposiroty与数据库进行通信
当我找到id为
的记录时 var applicant = applicantProvider.Get(1020);
Context.Set<TEntity>().Find(id);
然后我得到了异常
未处理的类型&#39; System.ArgumentOutOfRangeException&#39;发生在mscorlib.dll
附加信息:年,月和日参数描述了无法表示的DateTime。
数据记录是:
id DOB SubmitDate CreateDate UpdateDate
1020 01/06/1949 2010-05-12 16:01:39 2010-05-14 16:59:10 2011-05-28 10:22:00
我不知道我是如何得到这个错误请帮助我
我的实体申请人
public class ABGApplicant
public int ABGApplicantID { get; set; }
public DateTime? DOB { get; set; }
public DateTime? SubmitDate { get; set; }
public DateTime? CreateDate { get; set; }
public DateTime? UpdateDate{ get; set; }
这是我的主要功能
IABGApplicantProvider applicantProvider = new ABGApplicantProvider(new GenesisContext());
var applicant = applicantProvider.Get(1020);
这是我的ABGApplicantProvider扩展存储库
public class ABGApplicantProvider : Repository<ABGApplicant>, IABGApplicantProvider
{
public ABGApplicantProvider(DbContext context) : base(context)
{
}
}
这是类存储库
public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
public TEntity Get(int id)
{
// Here we are working with a DbContext, not PlutoContext. So we don't have DbSets
// such as Courses or Authors, and we need to use the generic Set() method to access them.
return Context.Set<TEntity>().Find(id);
}
答案 0 :(得分:1)
我认为您的问题不在您的存储库中,而在数据库中的数据中......
使用id=1020
检查记录,然后查看column DOB