Exemplo n.º 1
0
        public EntityCommand BuildCrudSelectByKeyCommand(EntityKeyInfo key, string filter = null, string nameSuffix = null)
        {
            var entity   = key.Entity;
            var procName = entity.Name + "_SelectBy" + key.GetMemberNames(string.Empty, removeUnderscore: true) + nameSuffix;
            var descr    = "Selects entity(ies) by key.";
            var cmd      = AddCommand(procName, descr, EntityCommandKind.SelectByKey, entity, key);

            cmd.Filter = filter;
            AddParametersFromKey(cmd, key);
            return(cmd);
        }
Exemplo n.º 2
0
        public EntityCommand BuildCrudSelectByKeyArrayCommand(EntityKeyInfo key)
        {
            if (key.ExpandedKeyMembers.Count > 1)
            {
                return(null);
            }
            var member0  = key.ExpandedKeyMembers[0].Member;
            var entity   = key.Entity;
            var procName = entity.Name + "_SelectByArrayOf_" + key.GetMemberNames(string.Empty, removeUnderscore: true);
            var descr    = "Selects entities by array of key values.";
            var cmd      = AddCommand(procName, descr, EntityCommandKind.SelectByKeyArray, entity, key);
            var prmType  = typeof(IEnumerable <>).MakeGenericType(member0.DataType);

            cmd.Parameters.Add(new EntityCommandParameter("Values", prmType, 0, null));
            return(cmd);
        }
Exemplo n.º 3
0
        // these are not key names in db, we assign DbKey.Name in DbModelBuilder using some special code
        public static string ConstructKeyName(this EntityKeyInfo key)
        {
            Util.Check(key.IsExpanded(), "KeyMembers list must be expanded, cannot construct name. Entity: {0}, keytype: {1}",
                       key.Entity.Name, key.KeyType);
            var entity = key.Entity;
            var tName  = entity.TableName ?? entity.Name;
            var prefix = GetKeyNamePrefix(key.KeyType);

            if (key.KeyType.IsSet(KeyType.PrimaryKey))
            {
                return(prefix + tName);
            }
            else if (key.KeyType.IsSet(KeyType.ForeignKey))
            {
                var target = key.OwnerMember.ReferenceInfo.ToKey.Entity;
                return(prefix + tName + "_" + (target.TableName ?? target.Name));
            }
            else
            {
                var    members     = key.GetMemberNames();
                string memberNames = string.Join(string.Empty, members).Replace("_", string.Empty); //remove underscores in names
                return(prefix + tName + "_" + memberNames);
            }
        }
Exemplo n.º 4
0
 public EntityCommand BuildCrudSelectByKeyCommand(EntityKeyInfo key, string filter = null, string nameSuffix = null)
 {
     var entity = key.Entity;
       var procName = entity.Name + "_SelectBy" + key.GetMemberNames(string.Empty, removeUnderscore: true) + nameSuffix;
       var descr = "Selects entity(ies) by key.";
       var cmd = AddCommand(procName, descr, EntityCommandKind.SelectByKey, entity, key);
       cmd.Filter = filter;
       AddParametersFromKey(cmd, key);
       return cmd;
 }
Exemplo n.º 5
0
 public EntityCommand BuildCrudSelectByKeyArrayCommand(EntityKeyInfo key)
 {
     if (key.ExpandedKeyMembers.Count > 1)
     return null;
       var member0 = key.ExpandedKeyMembers[0].Member;
       var entity = key.Entity;
       var procName = entity.Name + "_SelectByArrayOf_" + key.GetMemberNames(string.Empty, removeUnderscore: true);
       var descr = "Selects entities by array of key values.";
       var cmd = AddCommand(procName, descr, EntityCommandKind.SelectByKeyArray, entity, key);
       var prmType = typeof(IEnumerable<>).MakeGenericType(member0.DataType);
       cmd.Parameters.Add(new EntityCommandParameter("Values", prmType, 0, null));
       return cmd;
 }