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); }
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); }
// 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); } }
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; }
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; }