added condition to lazy loading of relationship objects

no db calls will be made if foreign key is 0.
This commit is contained in:
kay.one 2013-05-21 22:30:54 -07:00
commit 28b47b415f
4 changed files with 56 additions and 34 deletions

View file

@ -13,8 +13,10 @@ namespace NzbDrone.Core.Datastore
where TChild : ModelBase
{
return relationshipBuilder.For(portalExpression.GetMemberName())
.LazyLoad((db, parent) => db.Query<TChild>()
.SingleOrDefault(c => c.Id == childIdSelector(parent)));
.LazyLoad(
query: (db, parent) => db.Query<TChild>().SingleOrDefault(c => c.Id == childIdSelector(parent)),
condition: parent => childIdSelector(parent) > 0
);
}