0
私は、次のような表がある場合:Dapperのプロパティタイプ
CREATE TABLE MYTABLE
(
ID NUMBER(15) NOT NULL CONSTRAINT IFS_ROUTINE_ADGROUP_PK_PRIM PRIMARY KEY,
NUMBER_COLUMN NUMBER(15) NOT NULL,
TEXT_COLUMN VARCHAR2 (50) NOT NULL
) ;
私はTEXT_COLUMN
列がその値として'12345'
を含有するMYTABLE
で1つのレコードを持っていると私のモデルは以下の通りである場合:
public class MyModel
{
public long ID;
public long NUMBER_COLUMN;
public long TEXT_COLUMN; //this is an error (since the type in the database is text)
}
この単一の行が返されるテストシナリオでは、すべてが正常に返されます。ただし、データベースからのテキスト値がある場合は、エラーが発生します。
次の質問が生じ:
- それが唯一のDapperのを通じてこの種のエラーを防ぐことは可能ですか?たとえば、データベースの型がモデルの型と一致しない場合に例外をスローするなどです。
- 代わりに、Dapperがマッピングされたオブジェクトでうまく動作するという前提で動作するべきですか(パフォーマンス上の理由から)?
テーブルの型が 'varchar'型であっても、それに格納された値が数値であれば、Dapperはそれを読み込んであなたのlong型のプロパティにマップします。 – Shyju