NHibernateのペタポコローディングメカニズムを理解するのに苦労しています。実際、私は両方がクエリでどのように動作するかを比較するためのテストを行いました。
私のクラスは次のとおりです。
UserTest.cs
次のプロパティを使用します。
private string name;
private int id;
private int customerId;
public int ID
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public int? CustomerID
{
get { return customerId; }
set
{
if (value != customerId)
{
customerId = value;
if (this.ID > 0)
{
DoSomeOtherWork();
}
}
}
}
User.Load
NHibernateでaを実行するDoSomeOtherWork
と、呼び出されないことがわかりましたが、PetaPocoでは、またはUser
などの読み込みからクエリを実行すると、呼び出されていることがわかります。Connection.db.Fetch<UserTest>(...)
Connection.db.Query<UserTest>(...)
DoSomeOtherWork
どうしてこんなことに?
DoSomeOherWork
PetaPocoを使用するときに、NHibernateと同じ動作をするように呼び出すことを回避する方法はありますか?私はt want to use
PetaPocoを使用していません。CustomerID`を無視しas I need to get and set the
ます。