简体   繁体   English

如何在没有实体框架的情况下连接到 ASP.NET Core 中的数据库?

[英]How can I connect to a database in ASP.NET Core without Entity Framework?

How can I connect to a database from ASP.NET Core and Angular without Entity Framework?如何在没有实体框架的情况下从 ASP.NET Core 和 Angular 连接到数据库?

 "ConnectionStrings": {
    "DefaultParkingConnection": "Server=DESKTOP-CD0M0C3\\SQLEXPRESS;Database=ParkingSystem2;Trusted_Connection=True;MultipleActiveResultSets=true;User ID=sa;Password=P@ssw0rd"
  }, 

How can I get connection string in Web API controller?如何在 Web API controller 中获取连接字符串?

string constr = ConfigurationManager.ConnectionStrings["DefaultParkingConnection"].ConnectionString;

You could inject IConfiguration in api controller:您可以在 api controller 中注入IConfiguration

public class ValuesController : Controller
{
    public IConfiguration _configuration { get; }

    public ValuesController(IConfiguration configuration)
    {
        _configuration = configuration;

        string constr  = _configuration.GetConnectionString("DefaultParkingConnection");
    }
}

ASP.Net Core works different than ASP.Net, so you need to map the connection strings defined in appsettings.json to a class or variable to be accessed throughout the application. ASP.Net Core 的工作方式与 ASP.Net 不同,因此您需要将 appsettings.json 中定义的连接字符串appsettings.json转换为 class 或要在整个应用程序中访问的变量。 Try the following approach.尝试以下方法。 Create appSettings.json :创建appSettings.json

{
"ConnectionStrings": {
    "DefaultParkingConnection": "Server=DESKTOP-CD0M0C3\\SQLEXPRESS;Database=ParkingSystem2;Trusted_Connection=True;MultipleActiveResultSets=true;User ID=sa;Password=P@ssw0rd"
  }
}

Create a new class ConnectionStrings.cs to map the connection strings defined in appSettings.json to it:创建一个新的 class ConnectionStrings.cs到 map appSettings.json中定义的连接字符串给它:

using System;

namespace Test
{
    public class ConnectionStrings 
    {
        public string DefaultParkingConnection{ get; set; }
    }
}

In Startup.cs , write the following code:Startup.cs中,编写以下代码:

public class Startup
{
    public IConfiguration Configuration { get; }

    public Startup(IConfiguration configuration)
    {
        this.Configuration = configuration;
    }

    public void ConfigureServices(IServiceCollection services)
    {
        //Map the configuration
        var connectionSection = Configuration.GetSection("ConnectionStrings");
        services.Configure<ConnectionStrings>(connectionSection );            
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // Configure 
    }
}

Now in controllers, you can easily use it without creating the instance of the class:现在在控制器中,您无需创建 class 实例即可轻松使用它:

using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

namespace Test.Controllers
{
    [ApiController]
    [Route("api/account")]
    public class AccountController : ControllerBase
    {
        private readonly ConnectionStrings connectionStrings;

        public AccountController(IOptions<ConnectionStrings> connectionStrings)
        {
            this.connectionStrings = connectionStrings.Value;
        }

        [HttpGet, Route("test")]
        public IActionResult Test()
        {
            return Ok("test");
        }
    }
}

Microsoft has just release sqlclient for asp.net core for access to ado.net.微软刚刚发布了用于 asp.net 内核的 sqlclient,用于访问 ado.net。

from the packagemanager来自包管理器

Install-Package Microsoft.Data.SqlClient -Version 1.0.19269.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用实体框架使用“核心”数据库和各个派生数据库来构造ASP.NET MVC应用程序? - How can I structure an ASP.NET MVC application with a “Core” database and individual derived databases using Entity Framework? 如何使用Asp.Net.Identity和Entity Framework 6在Asp.Net Core 2.0 Target Framework 4.6.1中设置身份? - How can I setup identity in Asp.Net Core 2.0 Target Framework 4.6.1 using Asp.Net.Identity and Entity Framework 6? Entity Framework Core 和 ASP.NET Core MVC 中的 Inheritance 数据库 - Inheritance Database in Entity Framework Core and ASP.NET Core MVC 如何使用实体框架通过 ASP.NET Core Web API 处理通用查询? - How can I process a generic query through ASP.NET Core Web API using Entity Framework? ASP.NET Core MVC 1.3 Web API + Entity Framework,我无法按名称搜索数据库,但可以按 ID - ASP.NET Core MVC 1.3 Web API + Entity Framework, I can't search a database by name, but I can by id 如何在不使用EF的情况下连接ASP.NET Core Web API中的数据库? - How do I connect to database in ASP.NET Core Web API without using EF? 如何在 ubuntu 桌面上使用 Entity Framework Core 将 asp.net core MVC 项目连接到本地数据库 - how to connect asp.net core MVC project to local DB using Entity Framework Core on ubuntu desktop Asp.net Core和Entity Framework无法连接到SQL Server - Asp.net Core and Entity Framework can't connect to SQL Server 在ASP.NET核心项目中使用没有实体框架的SQLLite数据库 - using SQLLite Database without entity Framework in ASP.NET Core Project 使用 ASP.NET Core 和 Entity Framework Core 进行集成测试 - 如何在每个测试中恢复数据库中的测试数据? - Integration Testing with ASP.NET Core and Entity Framework Core - How to Restore Test Data in Database Per Test?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM