我正在研究C#和sql server 2012.我是.Net Core的新手。我想用我的工作覆盖.net核心的web api 2,所以我想要了解如何在web api 2和.net核心中完成CRUD操作的基本思路。谢谢。
答案 0 :(得分:1)
在我回答你的问题之前,让我告诉你一些可能会改变你看待.net核心的方式。 在普通的MVC .NET Framework 4.x中,您可以选择WebAPI2或普通的MVC。 在.net核心中,这两者是合并的,这意味着你选择哪一个并不重要。他们指向相同的图书馆。
就CRUD而言,您可以使用[HttpGet],[HttpPost],[HttpPut]和[HttpDelete]属性为端点提供特定功能。 如果您想从请求正文中获取参数,可以使用HttpContext.Request.Form ["参数名称"]。
您还可以使用端点构造函数中的[FromBody]属性将对象映射到模型。
就数据库而言,您可以使用Entity Framework的代码优先方法根据您的模型生成数据库。
对于深入的EF内容,您可以访问:https://docs.microsoft.com/en-us/ef/core/
答案 1 :(得分:1)
我建议您先查看以下文档:https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro
关于如何使用LINQ来理解这里执行的基于ORM的查询,请检查以下内容:https://msdn.microsoft.com/en-us/library/bb399367(v=vs.110).aspx
您有查询和放大器的示例。方法语法。我更喜欢方法,但两者都可以,只要你在你的应用程序中保持一致。
如果您打算使用此Entity Framework方法,请参阅以下简短示例:
定义您将在项目中使用的架构,例如:
在repo层内部注入AppplicationDbContext并编写如下方法:
GetAllAsync(), GetByIdAsync, UpdateAsync(), DeleteAsync(), CreateAsync()
...
通过接口将其暴露给服务层。在服务层中添加所需的任何业务逻辑。
然后在api控制器中你可以使用例如:
await _serviceName.GetAllAsync()..
以JSON或您需要的任何其他格式返回结果。
答案 2 :(得分:0)