Этот код используется для проверки уникального поля:
Модель:
public class SubCategory
{
[Key]
public int ID { get; set; }
[StringLength(450)]
[Remote("IsProductNameExist", "Products", AdditionalFields = "ID",
ErrorMessage = "Product name already exists")]
public virtual string Name { get; set; }
public virtual string ParentName { get; set; }
}
Контроллер:
public JsonResult IsProductNameExist(string Name, int? ID)
{
var validateName = db.SubCategories.FirstOrDefault
(x => x.Name == Name && x.ID != ID);
if (validateName != null)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
else
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
Все это работает нормально.Проблема в том, что у меня есть несколько других классов (например, Category, ДалееCategories), где поля Name
должны быть уникальными, и я так или иначе хочу повторно использовать этот код для всех этих полей.Я не могу понять, как я могу передать имя вызывающего класса методу IsProductNameExist
, чтобы он знал, какую таблицу он должен проверять в базе данных на предмет вызывающего класса ... или есть ли другой способ, которым я могу достичь этого.