MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como passar ObjectId do MongoDB no MVC.net


Use um fichário de modelo personalizado como este ... (trabalhando com o driver C# MongoDB oficial)
protected void Application_Start()
{
    ...
    ModelBinders.Binders.Add(typeof(ObjectId), new ObjectIdModelBinder()); 
}

public class ObjectIdModelBinder : DefaultModelBinder
{
    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        var result = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
        if (result == null)
        {
            return ObjectId.Empty;
        }
        return ObjectId.Parse((string)result.ConvertTo(typeof(string)));
    }
}