我有一种特殊类型的验证要做。假设我有两个实体:tblExploitationSub(idExploitationSub, idSemaine, dateActivite)
和tblSemaine(idSemaine, Datedebut, DateFin)
。我的目标是设置验证过程,以便在我填写idSemaine和dateActivite时检查此日期是否在Datedebut和DateFin之间。
顺便说一下,我正在使用生成xxxx.web.g.cs
文件的Ado.net Entity Data Madel。我创建了一个新类,我想用它来修改属性dateActivite
,如下所示:
namespace appGestMO.Web.Models
{
/// <summary>
/// Classe d'entité « tblExploitationSub ».
/// </summary>
public sealed partial class tblExploitationSub : Entity
{
/// <summary>
/// Obtient ou définit la valeur « DateActivite ».
/// </summary>
[DataMember()]
public DateTime DateActiviteValidation
{
get
{
return this._dateActivite;
}
set
{
if ((this._dateActivite != value))
{
if ((this._tblSemaine == null))
{
this._tblSemaine = new EntityRef<tblSemaine>(this, "tblSemaine", this.FiltertblSemaine);
}
MessageBox.Show(this._tblSemaine.Entity.ToString());
if ((value < this.tblSemaine.DateDebut.Value) || (value > this.tblSemaine.DateFin.Value))
{
throw new ValidationException("Date Incorrecte!!!");
}
this.OnDateActiviteChanging(value);
this.RaiseDataMemberChanging("DateActivite");
this.ValidateProperty("DateActivite", value);
this._dateActivite = value;
this.RaiseDataMemberChanged("DateActivite");
this.OnDateActiviteChanged();
}
}
}
}
}
但我收到了错误。有人可能有更好的解决方案。 感谢...
答案 0 :(得分:0)
看起来像this.tblSemaine.DateDebut和this.tblSemaine.DateFin可以为空。当你到达检查日期范围的行时,你确定它们不是空的吗?如果this.tblSemaine.DateDebut为null,this.tblSemaine.DateDebut.Value将抛出NullReferenceException。