2011-08-23 2 views
1

EF CodeFirst를 사용하는 ASP.NET MVC 3 프로젝트에서 작업하고 있습니다. 당신이 볼 수 있듯이ScaffoldColumn (true)에도 불구하고 키 열이 표시되지 않음

public class Tag 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [ScaffoldColumn(true)] 
    public short TagID { get; set; } 

    [Required] 
    [MaxLength(50)] 
    public string Name { get; set; } 
} 

DatabaseGenerated (DatabaseGeneratedOption.None)와 ScaffoldColumn는 (사실)가 속성 : 나는 키 컬럼에 설정 몇 가지 속성을 가진 간단한 클래스가 있습니다. TagID를 수동으로 입력 할 수 있기를 원하기 때문입니다. 이제 TagControler가 프로젝트에 추가 될 때 TagID 열이 5 개의 생성 된 뷰 중 어느 것도 표시되지 않습니다.

내가 수동으로 추가 할 수 있지만이 동작을 의도적으로 또는 내가 뭔가 잘못하고 있는지 궁금해?

답변

2

기본 키는 기본적으로 편집 가능한 입력란으로 스캐 폴딩되지 않습니다. 대신 키에 숨겨진 필드가 있습니다. 이 동작을 변경하려면 템플릿을 수정할 수 있지만 일반적으로 엔티티의 기본 키를 편집하는 것이 적절하지 않으므로 의도적으로 설계된 것입니다.

http://blogs.msdn.com/b/joecar/archive/2011/01/06/add-the-asp-net-mvc-3-code-templates-to-your-application-with-nuget.aspx

+0

내가 동의 : 여기

는이 변화에게 당신이보기를 추가 한 시간을 만들고 싶었다 또는 비계에 다른 사용자 정의 변경하기를 원한다면이 작업을 수행하는 방법에 대한 몇 가지 정보입니다 엔티티의 기본 키를 편집하는 것은 의미가 없지만 작성시 수동으로 입력하는 것이 좋습니다. 데이터베이스에 의해 자동 생성되지 않은 기본 키 필드와 다른 편집 가능한 필드 간의 IMHO 유일한 차이점은 기본 키 필드가 읽기 전용으로 표시되어야하는 편집보기에만 있어야합니다. – Anil

관련 문제