Ejemplo n.º 1
0
        /// <summary>
        /// Create a composite identity. This is an identity composed of multiple
        /// columns.
        /// Note: Prefer using a surrogate key over a composite key whenever possible.
        /// </summary>
        /// <example>
        /// CompositeId()
        ///   .KeyProperty(x => x.FirstName)
        ///   .KeyProperty(x => x.LastName);
        /// </example>
        public virtual CompositeIdentityPart <T> CompositeId()
        {
            var part = new CompositeIdentityPart <T>();

            compositeId = part;

            return(part);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create a composite identity represented by an identity class. This is an
        /// identity composed of multiple columns.
        /// Note: Prefer using a surrogate key over a composite key whenever possible.
        /// </summary>
        /// <param name="memberExpression">Composite id property</param>
        /// <example>
        /// CompositeId(x => x.Id)
        ///   .KeyProperty(x => x.FirstName)
        ///   .KeyProperty(x => x.LastName);
        /// </example>
        public virtual CompositeIdentityPart <TId> CompositeId <TId>(Expression <Func <T, TId> > memberExpression)
        {
            var part = new CompositeIdentityPart <TId>(memberExpression.ToMember().Name);

            compositeId = part;

            return(part);
        }
Ejemplo n.º 3
0
        public virtual CompositeIdentityPart <TId> CompositeId <TId>(Expression <Func <T, TId> > expression)
        {
            var part = new CompositeIdentityPart <TId>(ReflectionHelper.GetProperty(expression).Name);

            compositeId = part;

            return(part);
        }