【发布时间】:2018-11-17 22:36:20
【问题描述】:
我正在尝试为一个简单的 CRUD 项目创建后端部分。我对 asp.net 完全陌生,目前正在阅读。但是我卡住了。
我已经创建了我需要的实体(模型)
public class VehicleMakeEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string Abrv { get; set; }
public VehicleMakeEntity Make { get; set; }
}
我还创建了一个标准的 DbContext 类和存储库
class MakeRepository : IMakeRepository
{
ProjectDbContext context;
public MakeRepository(ProjectDbContext context)
{
this.context = context;
}
public void Delete(VehicleMakeEntity entity)
{
context.VehicleMake.Remove(entity);
context.SaveChanges();
Console.WriteLine(entity.Make.Name);
}
public void Insert(VehicleMakeEntity entity)
{
context.VehicleMake.Add(entity);
context.SaveChanges();
}
public void Update(VehicleMakeEntity entity)
{
context.VehicleMake.Update(entity);
context.SaveChanges();
}
public void Dispose()
{
context.Dispose();
}
}
现在我遇到的问题是我找不到任何既不使用 MVC 又使用存储库的文档。 我需要创建一个服务类来实现基本的分页、排序和过滤,但我看到的所有 Like this 都使用 MVC,我不知道如何将它转换为我的项目。
【问题讨论】:
-
如果您刚刚开始,我建议您做两件事:首先,完全放弃您阅读的与工作单元/存储库相关的任何内容,很少有需要这些内容的情况如果您只是在学习,请确保您不需要它。其次,抛弃 ASP.NET 和 EF,学习 ASP.NET Core 和 EF Core
-
另一个通知:您链接的问答在两个重要方面非常错误:首先它在依赖注入时失败,其次也是最重要的,它将整个表加载到内存中然后使用几个值在分页器中。
-
我正在执行一些任务,它们需要使用存储库。是的,我没有说清楚,我正在使用 ASP.NET Core 和 EF Core。完成基本任务后,我很可能会切换到 Razor 页面,因为我阅读了每个人都应该学习的内容。
-
你应该更新你的标签以提及“核心”以及你的标题和正文
-
Razor Pages 适用于极其简单的网页(几乎是静态信息)或根本不使用服务器端 MVC 的 javascript 密集型应用程序。如果您打算开发大多数实际应用程序,则需要 MVC。
标签: c# asp.net-core entity-framework-core