1

我的微风api控制器是这样的

public HttpResponseMessage CreateUser(class object)
{}

我有一个单独的工作单元来 Savechanges() 由微风完成..

我需要将我的 json 传递给class objectnot asJobject

这是我的微风savechanges()

var signupDetail = manager.getEntities(entityNames.userdetail);
var resourceDetail = new breeze.SaveOptions({
    resourceName: "CreateUser"
});
return manager.saveChanges(signupDetail, resourseDetail)

它将json作为Jobject savebundle发送,其中“实体[]和键映射[]”由“breeze-debug.js”完成

但我需要它作为我的类对象的“字符串 json”

有什么解决办法吗?

提前致谢

4

1 回答 1

0

您可以直接调用 Context 的 SaveChanges 方法,您的问题没有太多细节,但我会冒险做出一些假设并尝试回答它,因为今天我遇到了类似的问题。

public class MyContext : DbContext
{
    // ...
}

public class MyRepository
{
    private readonly EFContextProvider<MyContext> _contextProvider;

    public MyRepository()
    {
        _contextProvider = new EFContextProvider<MyContext>();
    }

    public void SaveChanges()
    {
        // Save all changes made in this context to the underlying database
        // this is the method you should call
        _contextProvider.Context.SaveChanges();
    }

    public SaveResult SaveChanges(JObject saveBundle)
    {
        return _contextProvider.SaveChanges(saveBundle);
    }
}

然后你可以在你的控制器中使用这样的东西:

[BreezeController]
public class TaskController : ApiController
{
    private readonly MyRepository _repository;

    public TaskController()
    {
        _repository = new MyRepository();
    }

    public void CreateUser(string className)
    {
        // Create the target object
        // ...

        // Call save changes
        _repository.SaveChanges();
    }
}

希望这可以帮助。

于 2014-03-18T16:19:08.643 回答