您当前的位置: 首页 >  .net

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

UkrGuru.SqlJson非常适合您的ASP.NET Core Web应用程序!

寒冰屋 发布时间:2021-05-30 21:55:12 ,浏览量:0

目录

背景

介绍

使用代码

服务设置

提供在页面中使用的DbService

Index页

创建页面

编辑页面

详细信息页面

删除页面

在本技巧中,您将了解一种无需在ASP.NET Core Web应用程序中使用Microsoft EF Core即可运行SQL Server过程的简便方法。

  • 下载演示932.9 KB
背景

我是一名老软件开发人员,已有20多年的时间,在我的一生中编写了很多独特的代码。在处理数据的实践中,我通常使用SQL Server和存储过程来执行任何复杂的查询。在过去的一年中,我尝试使用Microsoft EF Core框架,但是我始终缺乏以前使用存储过程时的功能。最后,我的耐心耗尽了,我为ASP.NET Core Web应用程序中的现代数据操作创建了一个最低限度的简单UkrGuru.SqlJson程序包,现在我想与您分享这些知识...

介绍

在本文中,我将介绍如何用ASP.NET Core Web应用程序中的UkrGuru.Json程序包替换Microsoft EF Core 。UkrGuru.Json程序包简单易学,易于使用,并且快如闪电!

如果您还不知道我的UkrGuru.SqlJson软件包,那么我建议您阅读此篇文章 UkrGuru.SqlJson——你的SQL Server和.NET 5之间的链接...

利用这些知识,我首先创建了一个Contact模型,然后生成了脚手架项目...

public class Contact
{
    [Key]
    public int Id { get; set; }

    [Required]
    public string FullName { get; set; }

    [Required]
    public string Email { get; set; }

    public string Notes { get; set; }
}

使用代码

现在,我将告诉您要应用我的程序包需要做什么。

服务设置

我们需要在您的ConfigureServices函数中初始化DbService和ConnString:

public void ConfigureServices(IServiceCollection services)
{
    // DbService Init
    services.AddScoped();

    // DbHelper Init
    DbHelper.ConnString = Configuration.GetConnectionString("SqlJsonConnection");
}
提供在页面中使用的DbService

请在下面的页面中替换DbContext为UkrGuru.SqlJson.DbService:

private readonly UkrGuru.SqlJson.DbService _db;

public CreateModel(UkrGuru.SqlJson.DbService db)
{
    _db = db;
}
Index页

在Index页面上更新您的OnGetAsync:

public async Task OnGetAsync()
{
    Contact = await _db.FromProcAsync("Contacts_List");
}
创建页面

在创建页面上更新您的OnPostAsync:

public async Task OnPostAsync()
{
    if (!ModelState.IsValid)
    {
        return Page();
    }

    await _db.ExecProcAsync("Contacts_Ins", Contact);

    return RedirectToPage("./Index");
}
编辑页面

在“编辑”页面上更新您的OnGetAsync和OnPostAsync:

public async Task OnGetAsync(int? id)
{
    if (id == null)
    {
        return NotFound();
    }

    Contact = await _db.FromProcAsync("Contacts_Item", new { Id = id });

    if (Contact.Id == 0)
    {
        return NotFound();
    }
    return Page();
}

public async Task OnPostAsync()
{
    if (!ModelState.IsValid)
    {
        return Page();
    }

    await _db.ExecProcAsync("Contacts_Upd", Contact);

    return RedirectToPage("./Index");
}
详细信息页面

在“详细信息”页面上更新您的OnGetAsync信息:

public async Task OnGetAsync(int? id)
{
    if (id == null)
    {
        return NotFound();
    }

    Contact = await _db.FromProcAsync("Contacts_Item", new { Id = id });

    if (Contact.Id == 0)
    {
        return NotFound();
    }
    return Page();
}
删除页面

在“删除”页面上更新您的OnGetAsync和OnPostAsync:

public async Task OnGetAsync(int? id)
{
    if (id == null)
    {
        return NotFound();
    }

    Contact = await _db.FromProcAsync("Contacts_Item", new { Id = id });

    if (Contact.Id == 0)
    {
        return NotFound();
    }
    return Page();
}

public async Task OnPostAsync(int? id)
{
    if (id == null)
    {
        return NotFound();
    }

    await _db.FromProcAsync("Contacts_Del", new { Id = id });

    return RedirectToPage("./Index");
}

瞧,您的代码已经可以运行了。

https://www.codeproject.com/Tips/5295844/UkrGuru-SqlJson-is-Perfect-for-your-ASP-NET-Core-W

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0442s