IamはまだNhibernateにまったく慣れていないので、ID列について質問があります。
次のクラスの顧客について考えてみましょう。
class customer
{
public virtual long ID;
public virtual string Name;
public customer()
{
}
public customer(string name)
{
Name = name;
}
}
私が定義したマッピングファイルでは、ID列が生成されています。だから私は新しい顧客を作成したいと思います:
customer c = new customer("Max Mustermann");
今はすべてOKです。IDが生成され、MaxをDBに保存できます。しかし、次のような顧客を生み出す可能性もあります。
customer c = new customer() { ID = 3, Name= "Max Mustermann"};
私は顧客のDB-ID(彼の名前だけ)を本当に知ることができないので、これは不可能なはずです。さらに、私は本当に私のプログラムにIDを必要としないので、私のオブジェクトにIDを持っていることに満足していません。
私の意見では、これはNhibernateの悪いクラス設計です...これを回避する方法はありますか?
ありがとう
編集1:
それはどういう意味ですか?
class customer
{
protected virtual long _ID;
public virtual string Name;
public virtual long GetID
{
get { return _ID; }
}
public customer()
{
}
public customer(string name)
{
Name = name;
}
}
それはうまくいくでしょうか?マッピングファイルはどのようになりますか?