diff --git a/src/Microsoft.AspNet.Mvc.Abstractions/ModelBinding/BindingInfo.cs b/src/Microsoft.AspNet.Mvc.Abstractions/ModelBinding/BindingInfo.cs
index ae6c66a2c2..2d1cb1d26f 100644
--- a/src/Microsoft.AspNet.Mvc.Abstractions/ModelBinding/BindingInfo.cs
+++ b/src/Microsoft.AspNet.Mvc.Abstractions/ModelBinding/BindingInfo.cs
@@ -12,6 +12,30 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
///
public class BindingInfo
{
+ ///
+ /// Creates a new .
+ ///
+ public BindingInfo()
+ {
+ }
+
+ ///
+ /// Creates a copy of a .
+ ///
+ /// The to copy.
+ public BindingInfo(BindingInfo other)
+ {
+ if (other == null)
+ {
+ throw new ArgumentNullException(nameof(other));
+ }
+
+ BindingSource = other.BindingSource;
+ BinderModelName = other.BinderModelName;
+ BinderType = other.BinderType;
+ PropertyBindingPredicateProvider = other.PropertyBindingPredicateProvider;
+ }
+
///
/// Gets or sets the .
///
diff --git a/src/Microsoft.AspNet.Mvc.Core/ApplicationModels/ActionModel.cs b/src/Microsoft.AspNet.Mvc.Core/ApplicationModels/ActionModel.cs
index 43f4de045e..477cb316ba 100644
--- a/src/Microsoft.AspNet.Mvc.Core/ApplicationModels/ActionModel.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/ApplicationModels/ActionModel.cs
@@ -14,7 +14,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
{
[DebuggerDisplay("Name={ActionName}({Methods()}), Type={Controller.ControllerType.Name}," +
" Route: {AttributeRouteModel?.Template}, Filters: {Filters.Count}")]
- public class ActionModel
+ public class ActionModel : ICommonModel, IFilterModel, IApiExplorerModel
{
public ActionModel(
[NotNull] MethodInfo actionMethod,
@@ -100,6 +100,10 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
///
public IDictionary