ASP.NET Web API 代码使用哪种模式 - C#
Posted
技术标签:
【中文标题】ASP.NET Web API 代码使用哪种模式 - C#【英文标题】:ASP.NET Web API code uses which pattern - C# 【发布时间】:2021-12-15 22:28:25 【问题描述】:我在所谓的存储库层中有以下代码。
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;
上面的代码到底是什么意思?我搜索的每个示例都是针对 ASP.NET Core 的。我知道这是使用 Web API 2 的 ASP.NET Framework 4.5。但是我在搜索时看到了这么多模式,我应该阅读/学习什么来更好地理解这种模式?
如果需要,我可以粘贴更多代码。
【问题讨论】:
【参考方案1】:您的代码所做的是;它正在使用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
【讨论】:
还有更多使用 asp.net web api 的 youtube 视频吗?【参考方案2】:看看Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application
它很好地解释了这种模式
【讨论】:
你能指点一些youtube教程吗?以上是关于ASP.NET Web API 代码使用哪种模式 - C#的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET Web API 中使用非线程安全的 async/await API 和模式?