MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So übergeben Sie ObjectId von MongoDB in MVC.net

Verwenden Sie einen benutzerdefinierten Modellbinder wie diesen ... (arbeitet gegen den offiziellen C#-MongoDB-Treiber)

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