2016-04-12 30 views
0

Ben aşağıdaki gibi bir tablo varsa:Zarif Mülkiyet Türleri

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 
) ; 

Ben TEXT_COLUMN sütun değeri olarak '12345' içerdiği MYTABLE yılında tek bir kayıt var ve benim modeli aşağıdaki şekilde ise:

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) 
} 

Bu tek satırın döndüğü bir sınama senaryosunda her şey yolunda gider. Ancak, veritabanından gelen metin değerleri varsa, bir hata ortaya çıkar.

şu sorular ortaya çıkıyor:

  1. sadece Dapper aracılığıyla Bu tür hataları önlemek mümkün mü? Veritabanındaki tür, modeldeki bir uyuşmazlığı bir istisna atmak gibi mi? Alternatif olarak, Dapper'ın iyi eşlenmiş nesnelerle (performans kazanımları nedeniyle) çalışması gerektiği varsayımıyla çalışmalı mıyım?
+1

Tablodaki tür "varchar" türü olsa da, içinde depolanan değer sayısalsa, Dapper okuyacak ve uzun tip özelliğinize göre eşleyecektir. – Shyju

cevap

0

zaman varlık için cevap olarak kabul edilebilir bir grubu:

  1. Resim
  2. Eşleme dikkatle testleri ile birlikte yapılmalıdır. Dapper, uygulamadaki modelden ve veritabanındaki eşleme türlerini umursamayacak.

İşbirliğiniz için @Shyju, & zaman.