Если у меня есть класс, похожий на этот:Если мне нужно получить объект из привязки настраиваемой модели, если связующее взаимодействует с уровнем обслуживания, уровнем репозитория или ...?
public class Person
{
public string firstName { get; set; }
public string lastName { get; set; }
public Pet myPet { get; set; }
}
При создании пользовательской модели связующего, то сообщение от моей формы не будет посылать в Пет, она посылала в такие данные: Имя: " myFirstName "lastName:" myLastName "myPet:" myPetsName "
Поскольку имя Pet передано, а не фактический объект Pet, объект Pet должен быть извлечен из связующего объекта модели.
Мой вопрос заключается в том, должен ли связующее устройство взаимодействовать с уровнем обслуживания, уровнем хранилища, или даже если оно будет получать Pet? Проблема с Service Layer, что я, кажется, не имеют доступа к ModelState при инициализации службы: ((this.ModelState) дает мне ошибку)
_petService = new PetService(new ModelStateWrapper(this.ModelState));
Если мне нужна модель связующего, чтобы создать Объект Person, тогда Pet нужно будет каким-то образом назначить ... как я должен это делать?
Как вы утверждаете, вы создаете объект PetBinding с кучей открытых строк? –
Правильно ... так что если я хочу сделать вызов Ajax для метода контроллера, я не должен связывать его? Но это делает его намного более чистым: public ActionResult Create (Person personToCreate) {} Вместо фактического прохождения параметров ... Я знаю, что представление должно принимать любые данные, но до тех пор, пока вход проверяется до форма представляется, это не должно быть проблемой. Итак, что именно вы предлагаете мне делать? Когда я должен попасть в репозиторий? И если проверка должна быть на уровне службы, тогда я не должен взаимодействовать с этим? – Matt
Джеймс, не обязательно строки. Любой связующий тип будет работать. Но модель представления обычно «плоская», чем бизнес-объект, поскольку она структурирована как представление. –