实体FrameWork System.ArgumentOutOfRangeException

时间:2017-01-06 11:10:01

标签: entity-framework datetime

我的项目使用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);
        }

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为您的问题不在您的存储库中,而在数据库中的数据中......

使用id=1020检查记录,然后查看column DOB