2011-05-12 3 views
4

아래 코드를 사용하면 사용자를 alertconfigurations에 연결하는 'UserAlertSubscriptions'테이블에 항목을 추가하려고합니다..SaveChanges가 엔티티 프레임 워크에서 데이터베이스에 변경 사항을 적용하지 않습니다.

문제는 아무런 오류가 없지만 항목이 데이터베이스에 추가되지 않는다는 것입니다.

내가 뭘 잘못하고 있는지 알기. 보시다시피 ApplyAllChanges를 시도했지만 차이가 없습니다.

AlerterDataEntities alerterDataEntities = new AlerterDataEntities() 

// get current user 
User user = alerterDataEntities.Users.Where(u => u.UserID == 1).ToList<User>()[0]; 

// get selected alert configuration 
AlertConfiguration alertConfiguration = 
    alerterDataEntities.AlertConfigurations.Where(a => a.AlertConfigurationID == 3).ToList 
     <AlertConfiguration>()[0]; 

UserAlertSubscription userAlertSubscription = new UserAlertSubscription 
{ 
    User = user, 
    AlertConfiguration = alertConfiguration 
}; 

user.UserAlertSubscriptions.Add(userAlertSubscription); 
//alerterDataEntities.AcceptAllChanges(); 
alerterDataEntities.SaveChanges(); 
+1

'var user = alerterDataEntities.Users.First (u => u.UserID == 1)' – SLaks

+0

SLAKs 덕분에 코드가 훨씬 깨끗해졌고 사용했습니다. '첫 번째'는 사용자 ans alertconfiguration ...에 대한 제안이지만 여전히 그것은 데이터베이스와의 관계를 보장하지 않습니다. –

+0

그게 바로 답이 아니라 주석입니다. 나는 그 문제가 뭔지 전혀 모른다. – SLaks

답변

3

모두 수정 - 문제는 데이터베이스를 실행할 때마다 출력 디렉토리에 복사되고 있다는 것이 었습니다. 그래서 내가보고 있던 테이블 (내 응용 프로그램의 루트에있는 테이블)은 그것이 추가 된 테이블이 아니 었습니다.

나는 해결책을 찾을 경우 장 - 로이스이었다 @ 해결이 게시물 : C# Entitity framework SaveChanges() not working

내가 데이터베이스를 설정 그것을 해결 '복사하지 마십시오'하고 전체 파일 경로를 넣어 '출력 디렉토리에 복사'하기를 app.config에있는 데이터베이스 연결 문자열에

관련 문제