IT정보공유/C#

C# TableDependency Exceptions Propery [컬럼명] cannot be set with db value 0.0000000000000000

알지오™ 2020. 10. 13.

 

MSSQL 데이터베이스의 데이터 변경을 감지하기 위해 사용중인 TableDependency.

 

Propery [컬럼명] cannot be set with db value 0.0000000000000000

 

위 제목과 같은 오류메세지가 발생.

확인해보니 데이터베이스의 컬럼과 C# 클래스에 정의된 필드의 데이터 타입이 일치 하지 않아 발생하는 에러였다.

DB Column은 double이고, 클래스에 정의된 타입은 int.
그러다 보니 아래와 같이 오류가 발생하면서 예외상황이 발생됨.

 

TableDependency.SqlClient.Base.Exceptions.NoMatchBetweenModelAndTableColumns: Propery [컬럼명] cannot be set with db value 0.0000000000000000
   위치: TableDependency.SqlClient.Base.EventArgs.RecordChangedEventArgs`1.GetValueObject(PropertyInfo propertyInfo, String value)
   위치: TableDependency.SqlClient.EventArgs.SqlRecordChangedEventArgs`1.GetValue(PropertyInfo entityPropertyInfo, TableColumnInfo columnInfo, Byte[] message)
   위치: TableDependency.SqlClient.Base.EventArgs.RecordChangedEventArgs`1.MaterializeEntity(List`1 messages, IModelToTableMapper`1 mapper)
   위치: TableDependency.SqlClient.Base.EventArgs.RecordChangedEventArgs`1..ctor(MessagesBag messagesBag, IModelToTableMapper`1 mapper, IEnumerable`1 userInterestedColumns, String server, String database, String sender, CultureInfo cultureInfo, Boolean includeOldValues)
   위치: TableDependency.SqlClient.SqlTableDependency`1.GetRecordChangedEventArgs(MessagesBag messagesBag)
   위치: TableDependency.SqlClient.Base.TableDependency`1.NotifyListenersAboutChange(Delegate[] changeSubscribedList, MessagesBag messagesBag)
   위치: TableDependency.SqlClient.SqlTableDependency`1.<WaitForNotifications>d__67.MoveNext()
   
   

 

그나저나 오류메세지가 Propery가 아니라 Property가 맞는거 같은데..

오타인듯함.

 

오류 해결 방법

 

간단하게 해결할 수 있음.
DB컬럼의 데이터 타입과 클래스에 정의된 데이터 타입을 일치 시켜주면됨.

댓글

💲 추천 글