4

웹에서 표준 자습서를 사용하여 ASP.NET MVC 3을 파헤 치려고합니다. 문제가 발생합니다.ASP.NET 4.3 스캐 폴딩 : 컨트롤러 추가 - 뷰 추가 - 다른 동작?

현재 외래 키와 연결된 별도의 엔티티에 저장된 영화 장르와 함께 "영화"클래스를 사용하여 책의 샘플을 따라하고 있습니다 (좋아요, 저는 독일 출신이기 때문에 독일어로 이름이 지정되었습니다.)). 관련 속성 만 표시합니다. 그것은 DbContext를 사용한 데이터베이스의 첫 번째 접근 방식입니다. 제 모델은 EF 4.x DbContext Generator를 사용하여 edmx에서 생성되었으며 edmx는 데이터베이스에서 자동으로 생성되었습니다.

public partial class Film 
{ 
    public Film() { } 

    public int ID { get; set; } 
    public string Titel { get; set; } 
    public int GenreID { get; set; } 
    public virtual Genre Genre { get; set; } 
} 

public partial class Genre 
{ 
    public Genre() { } 
    public int GenreID { get; set; } 
    public string Name { get; set; } 
} 

내가 CRUD의 영화 클래스 조회수하는 DBSet을 제공하는 DBContext을 사용으로 새로운 컨트롤러를 만들

, 나는 "장르"라고 표시된 GenreID을 편집 드롭 다운리스트를 사용하는 편집보기를 얻을. 벌금. 그게 내가 원하는거야.

하지만 다른 편집 뷰를 별도로 만들려고했습니다. 그래서 Edit Action-Method를 마우스 오른쪽 버튼으로 클릭하여 "Add View"를 선택하고 "Edit2"를 선택하고 Film을 모델로 사용하고 "Edit"를 스캐 폴드 템플릿으로 사용했습니다. 이보기에서는 GenreID 레이블이 붙은 간단한 "EditorFor (m-> m.GenreID)"를 얻었습니다. 그건 내가 원하는 것이 아니야.

물론 수동으로 변경할 수 있습니다. 물론 더 나은 것을 주장하는 수많은 스캐 폴딩 도구를 다운로드 할 수 있습니다.

그러나 이것이 EF 템플릿의 버그인지 아니면 Genre/GenreID가 혼란스러워 지도록 내 모델이 잘못 작성되었는지 이해하고 싶습니다. 한 번에 모든 것을 만들면 스 캐 폴딩 (Scaffolding)은 드롭 다운 (DropDown)을 생성하기 때문에 빠진 부분에 "그냥"있어야합니다.

+0

동일한 문제가 있습니다. 나는 그것이 T4 템플릿에 관한 문제라고 생각했지만 마법사와 T4 템플릿 (A.K.A.'Host') 사이에 전달 된 데이터와 관련이 있다고 생각합니다. – Brian

+0

@Brian & Rolf, 여러분들이 이것을 알아 냈습니까? 비슷한 문제가 있습니다. 코드 템플릿을 로컬로 복사하여 수정했습니다. 어떤 이유로 외부 키 관계를 더 이상 고려하지 않는 것 같습니다. – PostureOfLearning

+0

죄송하지만 1 년 전에이 주제를 포기했습니다. 다른 일이 더 중요 해졌다. – Rolf

답변

0

컨트롤러 "Edit2"에서 ​​액션을 호출해야합니다.

관련 문제