示例#1
0
        private string GetUpdateValues(AtomMemberInfo member)
        {
            if (member.IsPrimary ||
                member.IsAltKey)
            {
                return(null);
            }

            if (member.Atom.AdditionalInfo.Temporal.HasTemporal.GetValueOrDefault())
            {
                if (member.HasFlag(MemberFlags.LastModifiedDateTimetracking))
                {
                    return(member.Name + " = @NOW");
                }

                if (member.HasFlag(MemberFlags.CreatedDateTimeTracking))
                {
                    return(null);
                }
            }

            if (member.HasFlag(MemberFlags.SoftDeleteTracking))
            {
                return(member.Name + " = 0");
            }

            return(member.Name + " = @" + member.Name);
        }
示例#2
0
        private string GetUpdateValues(AtomMemberInfo member)
        {
            if (member.HasFlag(MemberFlags.SoftDeleteTracking))
            {
                return(member.Name + " = 1");
            }

            if (member.Atom.AdditionalInfo.Temporal.HasTemporal.GetValueOrDefault() &&
                member.HasFlag(MemberFlags.LastModifiedDateTimetracking))
            {
                return(member.Name + " = @NOW");
            }

            return(null);
        }
        protected string GetInsertFields(AtomMemberInfo arg)
        {
            if (arg.IsPrimary &&
                arg.MemberType is MemberLong)
            {
                return(string.Empty);
            }

            if (arg.MemberType.CanSupplyDefaultCreationValue &&
                arg.MemberType is MemberGuid &&
                (arg.IsAltKey || arg.IsPrimary))
            {
                return("(NEWID())");
            }

            if (IsHiddenTemporal(arg))
            {
                return("@NOW");
            }

            if (arg.HasFlag(MemberFlags.SoftDeleteTracking))
            {
                return("0");
            }

            string paramName = "@" + arg.Name;

            return(paramName);
        }
 protected bool IsHiddenTemporal(AtomMemberInfo value)
 {
     if (Atom.AdditionalInfo.Temporal.HasTemporal.GetValueOrDefault() &&
         value.MemberType is MemberDateTime)
     {
         return(value.HasFlag(MemberFlags.TemporalTracking));
     }
     return(false);
 }
示例#5
0
        protected bool CanBeStronger(AtomMemberInfo member)
        {
            if (!Config.Entities.StrongTypes || member.HasFlag(MemberFlags.Hidden))
            {
                return(false);
            }

            return(member.IsAltKey || member.IsPrimary || (member.HasReference &&
                                                           (member.Reference.IsReferenceToHiddenPrimaryKey || CanBeStronger(member.Reference.TargetMember))));
        }
        protected bool MemberIsUseableAsInsertParameter(AtomMemberInfo member)
        {
            if (!member.HasFlag(MemberFlags.NotUpdateable))
            {
                return(true);
            }

            if (member.Key &&
                !member.MemberType.CanSupplyDefaultCreationValue)
            {
                return(true);
            }

            return(member.HasReference);
        }
示例#7
0
 private static bool IsNonHiddenQueryable(AtomMemberInfo i)
 {
     return(i.Queryable && !i.HasFlag(MemberFlags.Hidden) && !i.IsPrimary && !i.IsAltKey);
 }