AJAX에서 모델 바인딩을 단순화하기 위해 NULL 필드를 DB 테이블로 허용하는 것이 나쁜 관행입니까?

StackOverflow https://stackoverflow.com/questions/1133556

문제

읽어주세요 여기 그리고 여기 내 문제에 대한 간단한 개요를 얻고 Ajax의 모델 바인딩을 말할 때의 의미를 정확히 확인합니다.

JavaScript에서 모델 바인딩을 허용하기 위해 외국 키 필드를 널리 사용하는 것이 나쁜 생각일까요?

예를 들어, 우리는 ajax 호출 중에 사람 객체에 바인딩하려고합니다 ... (개인 클래스는 엔티티 프레임 워크에서 생성됩니다)

public ActionResult Create(Person personToCreate)
{
    //Create person here
}

만약 Person a Pet DB의 외국 키 인 개체는 Pet Ajax 호출의 다른 데이터와 함께 개체. 따라서 Pet DB에서는 무효가되어 바인딩됩니다 Person 작동하지 않을 것입니다.

그래서 내가 알고 싶은 것은 ... 모델 바인딩을하기 위해 JavaScript에서 전달할 수없는 DB 필드를 null 할 수 있습니까? 아니면 모범 사례를 따르기 위해 사용자 정의 모델 바인더를 만들고 객체의 "더 평평한"버전에 바인딩해야합니까? 개체의 평평한 버전의 예 :

public class SimplePerson() {
   private string firstName;
   private string lastName;
   private string petName;
}

내가 이것을 묻는 이유는 내 엔티티 프레임 워크가 생성 된 클래스에 외국 키가 포함되어 있기 때문에 거의 모든 클래스의 평평한 복제본을 만들어야하며 전체에 반대하는 것 같습니다. 마른 주요한.

도움이 되었습니까?

해결책

나는 당신이 링크하고 게시 한 내용을 읽었습니다. 실제로 내 머리 꼭대기에서 좋은 솔루션을 생각할 수는 없지만 Ajax를 위해 기본 데이터베이스를 변경하는 전체 개념은 나를 불편하게 만듭니다. 나는 그것이 큰 대답이 아니라는 것을 알고 있습니다. 나는 지금 몇 가지 EF 디자인 문제로 어려움을 겪고 있으며, 모델을 위해 데이터베이스를 수정하려는 유혹을 받았을 때 여러 번 있었지만 항상 그랬습니다. 과거에 나를 물러서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top