假设在我们的项目中,我们使用 C# 和 MsSQL,并且我们有一个Products包含两列的表 ( ID, Name)
有一天,我们决定保存 给出的产品信息Company1,因此我们创建了一个新表ProductInfoFromCompany1,因为它有自定义列 ( ProductID, Price, CurrentScore)
第二天,我们同意了Company2,现在我们也需要保存他们的数据。因此,新表 ->ProductInfoFromCompany2具有不同的列 ( ProductID, Year, Rating)
另一天,我们同意Company3等等......
所以,我们不知道新公司给出的数据会是什么样子。这就是为什么我们需要创建一个新表,因为如果我们使用一个Details表,它会太宽并且有大量空列
在 Entity Framework Core 中,我们有以下模型:
public class ProductInfoFromCompany1
{
public int Id { get; set; }
public int ProductId { get; set; }
public decimal Price { get; set; }
public double CurrentScore { get; set; } …Run Code Online (Sandbox Code Playgroud) 当我在API项目中创建一个新控制器时,它会生成一个带有[ApiController]属性的控制器类,如下所示:
[ApiController]
public class TestController : ControllerBase
{
//implementation
}
Run Code Online (Sandbox Code Playgroud)
我已经看到了一些webapi项目,其中省略了该属性的使用.这里的 Microsoft文档说:
指示类型和所有派生类型用于提供HTTP API响应.此属性的存在可用于根据控制器的目的来定位约定,过滤器和其他行为.
但是,我仍然不明白.有人可以通过现实生活中的例子来解释这个属性的目的是什么?