2009-04-28 11 views
1

Googleで検索しようとしましたが、答えが見つからないのでここで試してみます。 私はSubonicを使用していますが、使用して、オブジェクトを埋めるためにしようとしています:サブストーリーをカスタムに変換する方法

Model.Object o = new Select() 
      .From<Object>() 
      .Where("Id") 
      .IsEqualTo(id) 
      .ExecuteSingle<Model.Object>(); 

その際、私はエラーを取得: タイプのオブジェクトの可能System.String '「CustomType」 型に変換することができませんプロパティの1つがデータベースにvarcharとして格納されます。 Model.objectでは、このプロパティはCustomTypeとして定義されています。私は既に次のようにこの型に暗黙の演算子を追加しました:

public static implicit operator CustomType(String value) 
    { 
     return new CustomType(value); 
    } 

私はここで間違っていますか?または私は何かを逃している?任意のヘルプが評価されます

答えて

0

Model.Objectを文字列表現から再作成できるように、独自のTypeConverterを実装してみてください。

EDIT。 SubSonicコードを掘り下げた後、私はこれが役に立たないことを知りました(thisBuildTypedResult<T>参照)。必要ならばIBaseRecordを実装して、Load()メソッドを実装してください。

+0

私は努力しましたが、成功しませんでした。コンバータクラス内のブレークポイントはヒットしません。私は無知です –

+0

それから私はSubSonicから生成されたクラスを使うのが良いでしょう。 –

0

これは私のプロジェクトでしたが、Model.Objectの部分クラスを作成し、その上にファクトリメソッドをポップするか、リーダーを取る別のコンストラクタオーバーロードをポップすることになります。そのリーダーを使用して、必要に応じてプロパティをロードし、CustomTypeをキャストできます。

関連する問題