2014-05-23 3 views
4

WPF 응용 프로그램에서 작업하고 있습니다. FILE_NAME는 신원 키와 ID은 ID 열 수 없습니다삽입 스로우 오류 : 지정된 캐스트가 유효하지 않습니다.

enter image description here

이 표에서 : 다음

내가 사용하고있는 테이블 스키마입니다.

다음

내가 사용하고있는 코드입니다 :

t_table_name t = new t_table_name 
       { 
        file_name = "test" 
       }; 
       dc.t_table_names.InsertOnSubmit(t); 
       dc.SubmitChanges(); 

오류 :

at System.Data.SqlClient.SqlBuffer.get_Int32() 
at Read_Object(ObjectMaterializer`1) 
at System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext() 
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) 
at System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicInsert(TrackedObject item) 
at System.Data.Linq.ChangeDirector.StandardChangeDirector.Insert(TrackedObject item) 
at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) 
at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) 
at OMS.MyOrders.Model.MyOrderExecutor.SaveTransactions(List`1 changes) 
at OMS.MyOrders.Model.MyOrderExecutor.SavePartReceiving(List`1 source, String system) 

내가 잘못 가고 어디 이해할 수 없습니다입니다.

답변

0

나는 이것을위한 해결책을 발견했다. 사실 문제는 linq 쿼리에 없었습니다. 문제는 t_table_name 삽입에 발생했습니다. 이 트리거는 일부 조건에 따라 파일을 만드는 데 사용되는 저장 프로 시저를 추가로 호출합니다. 이제 코드가 잘 :-)를하고있다

dc.ExecuteCommand("Insert into t_table_name (file_name) values ({0})", "test3"); 

을 :

enter image description here

내가 다음과 같이 명령을 실행하여 사용하고이 문제를 해결하려면 다음

이 내가 저장 프로 시저에서 가져온 출력은

3

기본 키에 대한 ID를 설정 했습니까? 아니면 수동으로 기본 키를 설정해야합니다.

+0

기본 키는 ID 열 – Sunny

+0

입니다. 사용중인 버전은 무엇입니까? –

+0

.Net Framework 4 – Sunny

0

기본 키의 ID를 설정해야합니다. 수동으로 아직없는 경우.

+0

이미 기본 키는 ID 열이라고 언급했습니다. – Sunny

관련 문제