0

现在我有一张表,我正在输入 spu 日期和发布日期。我想验证在添加新行时,它会在当前表中查看是否有任何其他的 spud 日期,以确保新的 spud 日期晚于前一个 spud,并验证它之前的发布日期它添加了一个新行。有人知道怎么做吗。

if (this.ReleaseDate < SpudDate)
{
    results.AddPropertyError("Release Date cannot be before Spud Date");
}

我在 validate 函数中有这个代码,但这只是在输入当前项目时。我还需要返回并查看其他记录以进行比较,就像我说的那样。

     partial void ReleaseDate_Validate(EntityValidationResultsBuilder results)
      {
     IDataServiceQueryable<tblWellRigJunction> orders = (from o in  this.DataWorkspace.RigStatusData.tblWellRigJunctions
                                                            orderby o.ReleaseDate
                                                            where WellID.Equals(this.WellID)
                                                            select o).Take(1);

  foreach (tblWellRigJunction ord in orders)
        {

            if (ord.ReleaseDate.ToString() == "")
            {
                results.AddPropertyError("Previous Release Date entered is still null");
                return;
            }

            int result = DateTime.Compare(ord.SpudDate, this.SpudDate);

            if (result > 0)
            {
                results.AddPropertyError("Previous Spud Date is greater");
                return;
            }
        } 
4

1 回答 1

1

您可以创建一个简单的查询,获取表中的所有记录并按生成日期对它们进行排序。如果您按降序对土豆日期进行排序,则可以与.FirstOrDefault().

开孔日期查询

if (SpudDate < this.MySpudDates.FirstOrDefualt().SpudDate)
{
    results.AddPropertyError("New Spud Date cannot be before Previous Spud Date");
}
于 2014-01-17T13:41:41.347 回答