와 MVC2에서 조회 및 지속 객체를 관리 내 단순화 된 도메인 모델은 다음과 같이 보입니다 :은 NHibernate에
public abstract class Entity<IdK>
{
public virtual IdK Code { get; protected set; }
}
public class Contact : Entity
{
public virtual string Name { get; set; }
public virtual Company Company { get; set; }
}
public class Company : Entity
{
public virtual string Name { get; set; }
}
을하고 나는 ViewModel에 정의했습니다 :
public ContactViewModel()
{
public Guid Code { get; set; }
public int Version { get; set; }
public string Name { get; set; }
public string Company { get; set; }
public List<SelectListItem> Companies { get; set; }
}
이보기에 내 연락처를 관리하기를 . 사용자가 내 양식을 제출하면, 이제
<%=Html.ListBoxFor(m => m.Company, (List<System.Web.Mvc.SelectListItem>)Model.Companies)%>
:
나는 사용자가이 같은 내보기에 렌더링되는 SelectedListItem의 목록을 추가 한 기업의 목록에서 선택 할 수 있도록하려면 때문에 내 모델을 저장하기 전에 뷰 모델을 다시 매핑합니다.
연락처를 채우고 ContactViewModel.Company의 ID를 사용하여 Company 유형의 개체를 만들어 Contact 클래스의 속성과 연결합니다.
데이터베이스에서 전체 회사를 가져 오지 않으려 고하기 때문에 이드를 채 웁니다. 연락처를 유지할 때 예외가 발생합니다. "not-null 속성은 null 또는 일시적인 Domain.Contact.Company"를 참조합니다..
MVC + Nhibernate에서 조회 및 지속성을 관리하는 가장 좋은 솔루션은 무엇입니까?
귀하의 경험에 대한 의견이 있으십니까?
감사합니다. lomaxx. 나는 첫 번째 옵션을 선택할 것입니다. 그렇게 조회를 관리하는 방식입니까? – LeftyX
예, 저는 그에게 첫 번째 방법을 사용합니다.우연히 일부 독서를하고 있었고 지난 밤에 수행 한 일부 테스트와 결합 된이 정확한 문제를 설명하는 게시물에 대한 링크를 추가하여 데이터베이스가 손상되는 것을 피하면서 이것이 올바른 방법임을 암시합니다. – lomaxx
나는 당신의 해결책을 시도하고 그것을 잘 작동합니다. 당신의 도움을 주셔서 감사합니다. – LeftyX