2010-01-20 4 views
0

사용자가 에세이 콘테스트에 참가할 수 있도록 asp.net mvc 응용 프로그램을 구축하고 있습니다. SQL Server 2005에 Essay 테이블이 있습니다. 서버 탐색기의 테이블을 끌어서 레이아웃을 저장하여 DAL.dbml이라는 이름으로 도메인 모델을 만들었습니다..dbml 디자이너를 사용할 때 모델 별 코드를 어디에 둘까요?

이제 Steven Sanderson이 11 장에서 언급 한 방법을 사용하여 비즈니스 계층에 입력 필드 유효성 검사를 구현하려고합니다. Pro ASP.NET MVC Framework. 그러나 저자는 저처럼 모델을 만들지 않았기 때문에 모델 별 코드를 어디에 넣어야 할지를 놓쳤습니다.

자동 생성 된 DAL.designer.cs 파일에 넣을 것을 고려했지만 문제가있는 것 같습니다.

새로운 수업 인 EssayRequired.cs를 만들려고했는데 EssayRequired 에세이 확장을 만들었습니다. 거의 효과가있었습니다.

성공적으로 모든 유효성 검사 오류를 보여주었습니다.

그러나 실제로 레코드를 저장하는 데 시간이 올 때 :

유형 'DomainModel.Entities.EssayRequired이'테이블로 매핑되지 않은 :이 오류를 받고 있어요

EssayTable.Context.Refresh(RefreshMode.KeepCurrentValues, essay); 
EssayTable.Context.SubmitChanges(); 

.

내가 지금해야 할 일에 대한 아이디어가 있습니까? db 테이블이 변경되고 테이블을 삭제하고 다시 드래그해야한다면 도메인 전용 코드를 넣을 수있는 더 좋은 곳이 있습니까?

또는 EssayRequired 개체가 에세이 테이블에 있어야한다고 앱에 알리는 방법이 있습니까?

감사, 스콧

답변

0

당신은 DBML 파일과 같은 네임 스페이스에 partial Essay class을 만들 수 있습니다.

public partial class Essay 
{ 
    partial void OnCreated() 
    { 
     // handle additional stuff on creation, for instance. 
    } 
} 
관련 문제