EF Core Web API和EF Core客户端应用程序

时间:2018-04-02 19:32:53

标签: asp.net-web-api2 ef-core-2.0

我使用EF Core进行Web API设置。我有我的模型设置并通过DBContext绑定到我的SQL服务器。我的模型有一个控制器。控制器定义Get,Put,Post和Delete方法。

我正在使用另一个也使用带有Razor页面的EF Core的应用程序的API。我将其设置为使用DBContext并创建了与我的API中相同的模型。

现在,我不得不理解如何将Web API调用中的数据集成到EF Core DBContext设置中。我不能将我的sql server连接作为Context传递,因为我希望API能够处理所有相关的数据。我想知道这是否可行。如果是这样,我该如何设置?

暂时解决这个问题,我正在覆盖默认的Razor页面.cs代码并自己调用以从我的API中获取数据并将其绑定到我的模型。这适用于获取数据,但现在我想发布或放置数据,我不知道在提交表单时如何访问我传入Razor页面的模型。如何访问表示传递到Razor页面的模型的表单数据?我想编写自己的put来将数据发送到我的API。

这是在Razor页面上单击提交按钮时调用的OnPost方法的片段以及我想要做的事情:

public async Task<IActionResult> OnPostAsync()
{
    if (!ModelState.IsValid)
    {
        return Page();
    }

    var resMsg = await DataHelper.UpdateData(1, ModelState.???) ModelState); //this calls the api to update the passed in model for the given id
}

0 个答案:

没有答案