2

「入札」という名前のエンティティがあり、この質問に関連するコードは次のとおりです。

クラス:

public class Bid
{
    public virtual Guid Id { get; set; }
}

マッピング ファイル:

<id name="Id" column="Id" type="Guid">
  <generator class="guid.comb" />
</id>

Oracle のデータ型:

Raw(16)

タイプ「Bid」(Repository.Save(bid)) の新しいオブジェクトを保存しているとき、C# によって生成された Id は

db27b33c75314b41b171a1620130061a

オラクルテーブルに保存されているものは

3CB327DB3175414BB171A1620130061A

よく見るとidの後半は同じですが、前半は違います。

C# によって生成された Id がそのまま保存されるようにコードを変更する方法を教えてもらえますか??

ジェネレーター クラス 'assigned' と 'guid.native' を試し、データ型を oracle で varchar2(32) に変更しようとしましたが、役に立ちませんでした。

4

2 に答える 2

2

最初の部分も同じですが、バイト順が異なります。以下の最初の 3 つのグループのそれぞれでバイト順を逆にすると、次のようになります。

db27b33c 7531 4b41 b171a1620130061a

3CB327DB 3175 414B B171A1620130061A

これについては、いくつかの議論があります: https://nhibernate.jira.com/browse/NH-1429

于 2013-02-11T13:17:07.507 に答える