缓存记录表 S
主键:CachedID string
其他列:IsObsoleted boolean
=============================
缓存记录明细表 T
主键:CachedDetailID
其他列:
CachedID string
IsObsoleted boolean
Value int (缓存值)=============================
S表和T表是1对多的关系(由于IsObsoleted可以是True或者False):
配置如下:
<bag name="CachedDetails"
cascade="all, delete-orphan"
inverse="true"
lazy="true"
where="IsObsoleted=1"> ===>问题在这里,我想灵活地取CachedHistory类的IsObsoleted字段值,这样就
让结果会灵活些。
<key column="CachedID"/>
<one-to-many class="CachedDetail"/>
</bag>
S表对应的类:CachedHistory.cs private ICollection<CachedDetail> persistentCachedDetails;
public virtual ICollection<CachedDetail> PersistentCachedDetails
{
get
{
return persistentCachedDetails;
}
set
{
persistentCachedDetails = value;
}
}这个PersistentCachedDetails 是现有框架,还不让改。别人的程序,离职了,我来接手的。T表中的CachedID 是和S表的字段一样,且是外键关系。IsObsoleted没有外键关系。
主键:CachedID string
其他列:IsObsoleted boolean
=============================
缓存记录明细表 T
主键:CachedDetailID
其他列:
CachedID string
IsObsoleted boolean
Value int (缓存值)=============================
S表和T表是1对多的关系(由于IsObsoleted可以是True或者False):
配置如下:
<bag name="CachedDetails"
cascade="all, delete-orphan"
inverse="true"
lazy="true"
where="IsObsoleted=1"> ===>问题在这里,我想灵活地取CachedHistory类的IsObsoleted字段值,这样就
让结果会灵活些。
<key column="CachedID"/>
<one-to-many class="CachedDetail"/>
</bag>
S表对应的类:CachedHistory.cs private ICollection<CachedDetail> persistentCachedDetails;
public virtual ICollection<CachedDetail> PersistentCachedDetails
{
get
{
return persistentCachedDetails;
}
set
{
persistentCachedDetails = value;
}
}这个PersistentCachedDetails 是现有框架,还不让改。别人的程序,离职了,我来接手的。T表中的CachedID 是和S表的字段一样,且是外键关系。IsObsoleted没有外键关系。
FROM T
INNER JOIN S
ON T.CachedID = S.CachedID
AND T.IsObsoleted = S.IsObsoleted