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'
您可以参考以下内容了解更多信息。
我在所谓的存储库层中有以下代码。
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'
您可以参考以下内容了解更多信息。