小编Jan*_*nge的帖子

.NET Core 无法连接到 SQL DB

我构建了一个与 SQL DB 连接的新 .net Core Web API。我在将 API 与我的数据库连接时遇到问题我尝试了本地数据库"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB; Initial Catalog=ib; Integrated Security=SSPI",和远程数据库(请参阅 appsettings.json)。

远程:Microsoft SQL Server Express(64 位)11.0.2100.60 系统:Microsoft Windows NT 6.1 (7601)

可以使用 SQL Server Management Studio 或 Visual Studio SQL Server 对象资源管理器连接到两个数据库。我还有一个可用的 asp.net Web 应用程序,我在其中使用相同的(远程)连接字符串。

但是使用新的 Core Web API 我无法连接。没有下面的设置,也没有连接来自 NuGet 的 Scaffold-DBContext

如果您需要更多我的代码,您可以询问。非常感谢您的帮助。

 Scaffold-DbContext "Connection String" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Run Code Online (Sandbox Code Playgroud)

启动文件

 services.AddDbContext<ibContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
Run Code Online (Sandbox Code Playgroud)

appsettings.json

"ConnectionStrings": {
    "DefaultConnection": "Server=192.168.1.XXX\\SQL2012; Initial Catalog=IBCOREDB_XXX; User ID=XXXX;Password=XXXXX;",
  },
Run Code Online (Sandbox Code Playgroud)

核心错误(远程数据库)

Exception thrown: 'System.Data.SqlClient.SqlException' in System.Data.SqlClient.dll
'iisexpress.exe' (CoreCLR: …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net-core

11
推荐指数
2
解决办法
2万
查看次数

Docker 中的 Net Core 应用程序“不支持 LocalDB”而不使用本地数据库

我有一个运行 SQL 数据库的 Net.Core 应用程序。连接字符串在环境变量中。

在本地 IIS 上,应用程序工作正常。

与 Docker-Container 相同的应用程序出现以下错误

失败:Microsoft.AspNetCore.Server.Kestrel[13] 连接 ID“0HLPO85V83VNO”,请求 ID“0HLPO85V83VNO:00000001”:应用程序引发了未处理的异常。System.PlatformNotSupportedException: 此平台不支持 LocalDB。
在 System.Data.SqlClient.SNI.LocalDB.GetLocalDBConnectionString(String localDbInstance)
在 System.Data.SqlClient.SNI.SNIProxy.GetLocalDBDataSource(String fullServerName, Boolean& error)

Docker 的环境变量: “DB_CONNECTION”:“Server=hc-XXX;Database=IB33DB-Core_XXX;User Id=sa;Password=XXX”

这是网络中的设置

网络信息

启动文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using ib.api_core.Data;
using Microsoft.EntityFrameworkCore;
using ib.api_core.Models;

namespace ib.api_core
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { …
Run Code Online (Sandbox Code Playgroud)

c# core docker .net-core asp.net-core

5
推荐指数
1
解决办法
5914
查看次数

将数据从中间件传递到 _Layout 视图

我的 asp.net-core 应用程序在 _Layout.cshtml 中有一个侧边栏。侧边栏是动态的,所以我需要 PageData。我尝试将 PageData 从我的 PagesMiddleware 传递到 View(我不想在每个 Controller 中为 View 转发 PageData)。


不想要这个:[PagesMiddleware] -> Controller -> _Layout.cshtml

页面中间件: context.Items.Add("pages", pages);

每个控制器: ViewData["Pages"] = TempData["pages"];

_布局: @ViewData["Pages"]


有没有这样的东西:[PagesMiddleware] -> -> _Layout.cshtml

页面中间件: ViewData["Pages"] = pages;

_布局: @ViewData["Pages"]


PageData 可以是字符串。如何在所有控制器中没有额外(冗余)代码的情况下将字符串从中间件传递到 _Layout 视图?

c# asp.net-mvc core asp.net-core

2
推荐指数
1
解决办法
984
查看次数

标签 统计

asp.net-core ×3

c# ×3

core ×2

.net-core ×1

asp.net-mvc ×1

docker ×1

sql-server ×1