public static void SetActionLinkBuilder(this IEdmModel model, IEdmAction action, ActionLinkBuilder actionLinkBuilder) { if (model == null) { throw Error.ArgumentNull("model"); } model.SetAnnotationValue(action, actionLinkBuilder); }
public static ActionLinkBuilder GetActionLinkBuilder(this IEdmModel model, IEdmAction action) { if (model == null) { throw Error.ArgumentNull("model"); } if (action == null) { throw Error.ArgumentNull("action"); } ActionLinkBuilder actionLinkBuilder = model.GetAnnotationValue<ActionLinkBuilder>(action); if (actionLinkBuilder == null) { actionLinkBuilder = new ActionLinkBuilder( entityInstanceContext => entityInstanceContext.GenerateActionLink(action), followsConventions: true); model.SetActionLinkBuilder(action, actionLinkBuilder); } return actionLinkBuilder; }
internal static bool ShouldOmitAction(IEdmAction action, ActionLinkBuilder builder, ODataMetadataLevel metadataLevel) { Contract.Assert(builder != null); switch (metadataLevel) { case ODataMetadataLevel.MinimalMetadata: case ODataMetadataLevel.NoMetadata: return action.IsBound && builder.FollowsConventions; case ODataMetadataLevel.FullMetadata: default: // All values already specified; just keeping the compiler happy. return false; } }