私はそのようなマスターエンティティTrnxを持っています:
public class MasterTrnx
{
private int? _AccountId;
private string _Place;
private DateTime _ProcessTime;
private int _TrnxId;
private decimal? _PaymentValue;
}
そして、そのようなマスターの子エンティティ:
public class MasterTrnxDetail
{
private MasterTrnx _MasterTrnx;
private decimal _MasterPaymentValue;
private decimal _PaymentValue;
private int _Xid;
}
1つのMasterTrnxエンティティには、MasterTrnxDetailの子より1つ多くあります。
using (ISession session = base.GetSession())
{
try
{
tx = session.BeginTransaction();
listOfMasterTrnxDetail = session.QueryOver<MasterTrnxDetail>()
.JoinQueryOver(d => (IEnumerable<MasterTrnx>)d.Trnx)
.List();
tx.Commit();
}
catch (Exception e)
{
if (tx != null)
{
tx.Rollback();
}
throw e;
}
finally
{
session.Close();
}
return listOfMasterTrnxDetail;
}
このコードブロックは機能しています。たとえば、マスターエンティティがあり、3つのmasterdetailがあります。このコードは私に3つのレコードを与えます。しかし、1つのマスターレコードと詳細の合計'MasterPaymentValuesが必要です。どうやってやるの?また、メソッドが次のような別のエンティティを返すようにします。
public class Trnx
{
public decimal? PaymentValue { get; set; }
public DateTime ProcessTime { get; set; }
public string TrnxName { get; set; }
public decimal? TotalMasterPaymentValue { get; set; }
}
手伝ってくれてありがとう。