MVC 2 - атрибуты имени в поле ввода HTML при использовании родительских / дочерних объектов - PullRequest
1 голос
/ 21 апреля 2010

Я довольно новичок в MVC 2, использующем Entity Framework. У меня есть две таблицы Company {ID int identity PK, Имя nvarchar} и User {ID int identity PK, Имя пользователя nvarchar, CompanyID int FK}. Между пользователем и компанией существует внешний ключ.

Я создал свою модель данных сущности ADO.NET, контроллер и представление для вставки записи. Моя HTML-форма содержит поля Company и UserName, и идея заключается в том, что когда я нажимаю кнопку Сохранить компанию, пользователь вставляется в базу данных. Звучит прямо вперёд!

Мой вопрос таков:
Я создал строго типизированное представление, полученное из моего объекта «Пользователь». Я использую html helper Html.TextBoxFor (model => model.Organisation.Name) , но атрибут имени html для этого поля ввода - 'Organisation.Name' . Моя проблема с этим заключается в том, что точка выбрасывает все виды проблем в JQuery, который видит это как свойство. Если я хочу изменить имя, которое я прочитал, я могу использовать DataAnnotations, но поскольку я использовал Entity Designer, это включает использование Buddy Classes. Кажется, немного излишним просто изменить атрибут имени HTML в этом поле ввода. Правильно ли я подхожу к этому или я что-то здесь упускаю?

Спасибо за помощь!

1 Ответ

1 голос
/ 11 мая 2010

Я решил эту проблему, сделав шаг назад и переоценив способ структурирования своих данных. Конечным результатом было то, что мои бизнес-объекты были слишком тесно связаны с моей схемой базы данных и не отражали домен, в котором я работал. Я изменил дизайн своего приложения. использование POCO для представления моих бизнес-объектов, которые лучше отражают мой домен, и это привело к «выравниванию» реляционной структуры в этом сценарии, поэтому вместо model.Organisation.Name у меня теперь есть model.OrganisationName.

...