SQL Server Pro 인스턴스에있는 bak 파일에서 SqlExpress에 복원 한 데이터베이스가 있습니다. Linq를 사용하여 데이터베이스와 상호 작용하고 쿼리 및 일부 테이블을 업데이트 할 수 있습니다. 그러나, 나는 어떤 종류의 업데이트 (내 UserAddress 테이블)를 받아들이지 않을 적어도 하나의 테이블을 가지고있다. 이 쿼리를 실행하면SQL Server 테이블이 LINQ로 업데이트되지 않았습니다.
TestDataContext td = new TestDataContext();
UserAddress ua = (from u in td.UserAddresses
where u.UserID == 56
select u).Single();
ua.Address1 = "ffffffffffffuuuuuuuuuuu";
td.SubmitChanges();
아무 일도 발생하지 않습니다. 데이터베이스에 커밋 된 텍스트가 없으며 예외는 없습니다. 이것은 SQL 인증으로 시도했지만 동일한 결과를 얻었지만 연결 문자열 (데이터 원본 = SNEE \ SQLEXPRESS, 초기 카탈로그 = UsersDatabase, 통합 보안 = True)입니다. 다른 누구도 이런 경험을 한 적이 있습니까? 그렇다면 어떻게 작동 시키려고 했습니까?
EDIT 1 desginer에서 주위를 파고 난 후에 나는 이상한 것을 알아 차렸다. 내 사용자 클래스가 나는 또한 확장 방법 정의는 사용자에 대해 있지만 UserAddress에 대해 정의 된 것으로 나타났습니다이
[Table(Name="dbo.User")]
public partial class User: INotifyPropertyChanging, INotifyPropertyChanged
처럼 보인다 그러나 주소 클래스는이
[Table(Name="dbo.UserAddress")]
public partial class UserAddress
것 같습니다. 뭐라 구요? 이것이 내 문제의 뿌리라고 확신하지만 왜 이런 일이 일어 났는가? 나는 테스트 datacontext를 만들고 테이블을 다시 드래그하려고했지만 여전히 필요한 코드를 생성하지 않을 것이다.