4
私はdapperを使用していて、dbからintに文字列値をキャストする際に問題があります。これを可能にするためにTypeMapをオーバーライドした人はいますか?Dapper - オブジェクトへのSQLの暗黙的キャスト
どのような提案も素晴らしいでしょう。
私はdapperを使用していて、dbからintに文字列値をキャストする際に問題があります。これを可能にするためにTypeMapをオーバーライドした人はいますか?Dapper - オブジェクトへのSQLの暗黙的キャスト
どのような提案も素晴らしいでしょう。
Dapperは、マップするタイプについては厄介です。これは後でポップアップするあらゆる種類の不快なエラーからあなたを守ります。
たとえば、あなたのDBは、返すことができます:
010hello
10a10
374837483748374837483748374834784378437438743874384738473
は、原料のこの種Int32
That sa idには、IL生成に変更を必要としないdapperに従うことができる2つの戦略があります。
オプション1:shadowプロパティSQLにキャスト
class Foo
{
public int Age
{
get
{
int age;
int.TryParse(ageString, out age);
return age;
}
}
string ageString;
}
\\ usage
cnn.Query<Foo>("select ageString from TableWithString");
オプション2、
cnn.Query<Bar>("select cast(ageString as int) Age from TableWithString");
あなたがそうあなたがしなければdapperのマッピング機能を拡張するために何のクリーンな方法は、ありません私たちがあなたのローカルコピーに追加した修正をマージする必要があります。
大変ありがとうございます。私はオプション1について考えていましたが、他に解決策があるかどうかを見たいと思っていました。 – Arnej65