ASP.NET Web API 代码使用哪种模式 - C#

ASP.NET Web API code uses which pattern - C#

我在所谓的存储库层中有以下代码。

public class EmployeeDetailsRepository : IEmployeeDetailsRepository
{
    private readonly IDataAccess _dataAccess;

    public ILogger Logger { get; set; }

    public EmployeeDetailsRepository(IDataAccess dataAccess)
    {
        Logger = LoggerUtil.GetLogger("Data access repository");
    }

    public EmployeeDetails GetEmployeeByFirstName(string firstName)
    {
        EmployeeDetails employeeDetails;

        using (ILinqContext context = _dataAccess.CreateContext(""))
        {
            employeeDetails =
                (from stg in context.Table<Employees>() 
                 where (stg.Name == firstName)
                 select stg).FirstOrDefault();
        }
        
        return employeeDetails;
    }
}

上面的代码到底是什么意思?我 google 的每个示例都是针对 ASP.NET 核心的。我知道这个是 ASP.NET Framework 4.5 using Web API 2. 但是我在搜索时看到了很多模式,我应该如何 read/study 更好地理解这个模式?

如果需要,我可以粘贴更多代码。

看看这个Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application

它很好地解释了这个模式

你的代码是做什么的;它正在使用 Entity framework

实现存储库模式

当您调用上述方法时,EF 将生成如下所示的 SQL 查询:

SELECT TOP(1) [e].[Id], [e].[DoB], [e].[FirstName], [e].[LastName]
FROM [Employees] AS [e]
WHERE [e].[FirstName] = N'Bill'

您可以参考以下内容了解更多信息。

https://channel9.msdn.com/Series/The-Full-Stack/The-Full-Stack-Part-5-Implementing-the-repository-with-EF-Code-First-and-Dependency-Injection

https://www.youtube.com/watch?v=rtXpYpZdOzM