2011-01-19 1 views
1

양식을 편집 할 수 있지만 원본을 추적하고 편집자가 편집 한 내용을 저장해야하는 새 프로젝트가 시작됩니다. (ps에서는 Visual Studio 2010 외의 추가 소프트웨어를 사용할 수 없으며 Microsoft SQL Server Management Studio는 추가 소프트웨어를 제안 할 필요가 없으므로이 코드 또는 테이블 디자인을 염두에 둔 질문입니다.양식 편집 및 모든 수정 감사를 구현하는 가장 좋은 방법은 무엇입니까?

저는 완벽 주의자로서 이것을 달성하기위한 가능한 경로를 알고 있습니다. 전반적인 프로젝트 디자인을 바꿀 수는 있지만, 구현 방법에 대한 아이디어가 가장 좋은지 잘 모르겠습니다. 그래서 다른 사람들의 의견을 듣고 싶습니다. 위의 아이디어와 가장 위의 문제를 구현하는 가장 효과적인 가장 효과적인 방법에 자신의 아이디어에.

아이디어 : -

  1. 그들이 그 다음 라디오 버튼에 textboxs 심지어 일부 드롭 다운하고 있던 값과 데이터의 기존의 모든 범위를 표시 할 편집 할 때 그래서 나는 그것을 설정하는 것 제출시 Id를 통해 원본 레코드를 달성 테이블에 복사하고 새 레코드를 만든 다음 주 테이블에서 원본을 삭제합니다.

  2. 폼의 모든 섹션에 X 개의 주석을 추가하는 몇 가지 방법을 알아보고 각각에는 타임 스탬프와 win auth의 사용자 이름이 하단에 기록됩니다.

편집 - 내 의도는 다양한 솔루션을 얻을 수 있었다하지만 난 단일 솔루션 주어진 작품은 그때 그 정확한 표시됩니다 경우이 프로젝트의 편집 섹션에 시작할 수있어 일단 나는 가정한다.

+0

나는 당신의 생각을 거의 따를 수 없다. –

+0

@Darin Dimitrov : 정확히 무슨 문제가 있습니까? – Myzifer

+0

@ Myzifer, 예를 들어 다음 문구 : * 원본을 추적하고 누가 편집을했는지, *. 당신은 어떤 종류의 인증 (만약 있다면)을 사용하는지, 어떻게 사용자를 추적하는지, 원래의 기록을 어디서 추적하고 싶은지에 대해 설명하지 않고 * 누가 * 이야기 했는가? –

답변

3

나는 이것이 당신이 찾고있는 것인지 확신 할 수 없지만 감사의 이유로 데이터에 모든 변경 사항을 기록 할 필요가 있으며이를 구현 한 방법은 다음과 같은 새로운 '기록'테이블을 만드는 것입니다. 레코드 ID, 변경 한 사람의 사용자 이름, 무언가를 추가/수정/삭제했는지 여부 및이 상황이 발생했을 때 등

데이터베이스에있는 항목을 추가/편집/삭제하는 코드에서 나는 항상 ObjectContext.SaveChanges (저는 Entity Framework 4를 사용합니다) 그래서 구현 한 것은 ObjectStateManager의 다양한 부분을 사용하여 변경된 엔티티에 대한 정보를 얻고 History 테이블에 세부 정보를 삽입하는이 메서드의 확장입니다. 그런 다음 변경된 내용을 표시하려면 데이터베이스에서이 테이블을 쿼리하면됩니다.

+2

이 링크는 Entity Framework에 대해 좀 더 자세히 설명합니다. http :// /www.codeproject.com/KB/database/ImplAudingTrailUsingEFP1.aspx – JayneT

+0

그것이 내가 XML을 사용하기 때문에 사용할 수 있을지 확신 할 수 없다고 묻고있는 것 같습니다.하지만 적어도 필요한 단계를 명확하게 설명하는 것처럼 보입니다. 가능한 해결책이므로 지금 당장은이를 표시하고 있습니다. – Myzifer

관련 문제