Была такая же ошибка. Делаю приложение для взаимодействия с базой данных через Entity Framework. Создаю БД через Code First. В одном из классов сущностей делал custom data validation через определение класса как наследующего от IValidatableObject. Прописал метод Validate внутри класса, но забыл объявить, что сам класс наследует IValidatableObject. При этом тоже писало "Приложение перешло в состояние останова". Объявил, что класс наследует - все в порядке.
UPD: понял чуть позже, еще была путаница с папками в проекте, отчасти, наверно, из-за нее все это было.
Код класса вот такой короче:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Logic.Model
{
public class PriceChange : IValidatableObject - вот этой херни не было
{
//Primary key:
public int PriceChangeID { get; set; }
[Required]
public string PriceType { get; set; }
[Required]
public DateTime StartDate { get; set; } //Must be larger than the current date
[Required]
public int NewPrice { get; set; }
//Foreign key:
[Required]
public string ProductID { get; set; }
public virtual Product Product { get; set; }
//Custom validation:
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (StartDate.Date <= DateTime.Now.Date)
{
yield return new ValidationResult
("Start date must be larger than the current date", new[] { "StartDate" });
}
}
}
}
Вообще, разобрался, в чем ошибка, откатываясь к более старым версиям в репозитории. Не знаю, есть ли он у тебя, но короче лучше им пользоваться.