2011-08-11 4 views
0

데이터베이스의 모든 레코드에 대해 작성자의 UserID (모든 테이블에 필드가 있음)을 저장하려면 SaveChanges 메서드를 재정 의하여이를 수행 할 수 있음을 발견했습니다.매개 변수를 Entity Framework 모델에 전달하는 방법은 무엇입니까?

유일한 문제는 UserID이 웹 프로젝트의 세션 변수에 저장되고 EF가 분리 된 프로젝트 라이브러리에 존재한다는 것입니다. 그리고 dll에서 응용 프로그램에 액세스 할 필요가 없습니다.

내 경우에 가장 적합한 것은 무엇입니까? UserID 매개 변수를 사용하여 SaveChanges에 대한 새 재정의를 생성하여 UserID를 전달합니까? 또는 다른 아이디어? 당신은 내가 당신이 CONTEXT.TABLENAME.ADD 방법을 사용하여 값이 DB에 추가 될 전달하는 이해하는 것과

:-) 대답처럼 해달라고하면

답변

0

나 자신은 초보자가 너무 죄송합니다.

당신은 모든 테이블에 userid 필드가 있습니다. 그런 다음 세션 변수에서 사용자 ID를 가져 와서 나머지 데이터를 전달할 때 전달합니다.

자세한 정보를 제공하면 도움이됩니다.

0

웹 컨텍스트를 별도의 라이브러리에서 데이터 컨텍스트에 단단히 바인딩하려고하면 자신이 스스로 매듭을 짓고있는 것처럼 확실히 전달하는 것이 가장 좋은 방법입니다. 또한 위대한 "우려의 분리"가 아니므로 데이터 라이브러리를 웹 사이트가 아닌 다른 용도로 사용하면 작동하지 않습니다.

당신이/당신이 그것을 할 수있는 주요 프로젝트의 외부 세션을 액세스하는 방법에 주장해야하는 경우 :

HttpContext.Current...

및 경우 System.Web 참조를 추가. 이 경우 모범 사례는 아니지만 가능합니다.

관련 문제