Mercurial > pub > bltoolkit
view Source/Mapping/Fluent/AssociationMap.cs @ 9:1e85f66cf767 default tip
update bltoolkit
author | nickolay |
---|---|
date | Thu, 05 Apr 2018 20:53:26 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Linq.Expressions; namespace BLToolkit.Mapping.Fluent { public partial class MapFieldMap<T, TR> { public class AssociationMap<TRt> { private readonly MapFieldMap<T, TR> _owner; private readonly bool _canBeNull; private readonly List<Expression<Func<T, TRt>>> _thisKeys; public AssociationMap(MapFieldMap<T, TR> owner, bool canBeNull, List<Expression<Func<T, TRt>>> thisKeys) { this._owner = owner; this._canBeNull = canBeNull; this._thisKeys = thisKeys; } public MapFieldMap<T, TR> ToMany<TRf, TRo>(Expression<Func<TRf, TRo>> otherKey, params Expression<Func<TRf, TRo>>[] otherKeys) { var keys = new List<Expression<Func<TRf, TRo>>>(otherKeys); keys.Insert(0, otherKey); return this._owner.Association(this._canBeNull, this._thisKeys, keys); } public MapFieldMap<T, TR> ToOne<TRo>(Expression<Func<TR, TRo>> otherKey, params Expression<Func<TR, TRo>>[] otherKeys) { var keys = new List<Expression<Func<TR, TRo>>>(otherKeys); keys.Insert(0, otherKey); return this._owner.Association(this._canBeNull, this._thisKeys, keys); } } } }