Это плохая практика, чтобы позволить нулевые поля в таблицу БД, чтобы упростить привязку модели от Ajax?
Пожалуйста, прочитайте здесь и здесь, чтобы получить краткий обзор моей проблемы и увидеть, что именно я имею в виду, когда говорю привязка модели из Ajax.
Было бы плохой идеей сделать поля внешнего ключа обнуляемыми, чтобы обеспечить привязку модели из javascript?
Например, мы хотим привязать к объекту Person во время вызова ajax... (Класс Person создается из Entity Framework)
public ActionResult Create(Person personToCreate)
{
//Create person here
}
Если у Person
был Pet
объект, который был внешний ключ в БД, вы не можете передать объект Pet
вместе с другими данными из вызова ajax. Поэтому, если Pet
не является nullable в БД, привязка к Person
не будет работать.
public class SimplePerson() {
private string firstName;
private string lastName;
private string petName;
}
Причина, по которой я спрашиваю об этом, заключается в том, что многие из созданных мной классов Entity Framework содержат внешние ключи, что означает, что мне нужно будет создать плоский дубликат почти всех этих классов, и это, похоже, идет вразрез со всем сухим принципом.1 ответ:
Я прочитал то, что вы связали и опубликовали, я не могу действительно думать о хорошем решении с вершины моей головы, но вся концепция изменения вашей базовой базы данных ради AJAX заставляет меня чувствовать себя некомфортно. Я знаю, что это не лучший ответ, я сам сейчас борюсь с несколькими проблемами дизайна EF, и было несколько раз, когда я испытывал искушение изменить базу данных ради модели, но это всегда возвращалось, чтобы укусить меня в прошлом.