7

NHibernateのTuplizerについて言及している投稿に出くわしましたが、Tuplizerの適切な定義やリファレンスを提供できる人はいますか?

4

3 に答える 3

6

ITuplizer のソース コードから:

tuplizer は、その表現の EntityMode (本質的にどの表現を定義するエンティティ モード) が与えられた場合、データの特定の表現を管理する方法を知っているもののコントラクトを定義します。

そのデータの特定の部分がデータ構造と考えられる場合、タプリザーは次の方法を知っているものです。

  • そのようなデータ構造を適切に作成する
  • そのようなデータ構造から値を抽出し、値を注入する

たとえば、特定のデータが POCO クラスとして表現される場合があります。ここでは、それは表現であり、エンティティ モードは POCO です。POCO エンティティ モードの tuplizer は、次の方法を知っています。

  • POCO のコンストラクターを呼び出してデータ構造を作成する
  • ゲッター/セッターを介して、またはフィールドへの直接アクセスなどによって、値を抽出および注入します。

XML エンティティ モードに関連付けられた tuplizer を使用して、同じデータの一部を DOM 構造として表すこともできます。これにより、XmlElement のインスタンスがデータ構造として生成され、ネストされた XmlElement または XmlAttribute として値にアクセスする方法がわかります。

ファビオ・マウロの言葉:

tuplizer は、Property-Value を永続的な表現に変換する方法と、Column-Value をメモリ内表現に変換する方法を定義します。EntityMode は、どの tuplizer を使用するかを定義します。

カスタム tuplizer でできること:

于 2010-05-15T03:45:58.770 に答える
1

まず、タプルが何であるかを理解することが役立つ場合があります。

http://en.wikipedia.org/wiki/Tuple

Pythonは、タプルのファーストクラスのサポートがあることで最も注目に値しますが、他のいくつかの言語も同様にサポートしています(F#)

http://diveintopython3.ep.io/native-datatypes.html#tuples

そしてもちろん!

https://stackoverflow.com/search?q=tuples

于 2008-12-24T13:07:56.140 に答える