gpt4 book ai didi

c# - ASP.NET WebAPI 错误 : an exception of type 'System.Data.SqlClient.SqlException' occurred in EntityFramework. dll 但未在用户代码中处理

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:58 24 4
gpt4 key购买 nike

An exception of type 'System.Data.SqlClient.SqlException' occurred in EntityFramework.dll but was not handled in user code

Additional information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)

每当调用我在 Controller 中编写的任何函数时,我都会收到此错误。

Controller (Web API 2 Controller 为空):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Test.DBA;
using Test.Models;

namespace Test.Controllers
{
public class UserAPIController : ApiController
{
ApiDbContext dbContext = null;

public UserAPIController()
{
dbContext = new ApiDbContext();
}

[HttpPost]
public IHttpActionResult InsertUser(User user)
{
dbContext.Users.Add(user);
dbContext.SaveChangesAsync();

return Ok(user.Id);
}

public IEnumerable<User> GetAllUser()
{
var list = dbContext.Users.ToList();
return list;
}

[HttpPost]
public IHttpActionResult DeleteUser(User user)
{
dbContext.Users.Remove(user);
dbContext.SaveChangesAsync();

return Ok(user.Id);
}

[HttpGet]
public IHttpActionResult ViewUser(int id)
{
var student = dbContext.Users.Find(id);
return Ok(student);
}

[HttpGet]
public IHttpActionResult UpdateUser(User user)
{
var std = dbContext.Users.Find(user.Id);

std.Name = user.Name;
//std.startTime = user.startTime;
//std.endTime = user.endTime;
//std.Gender = user.Gender;
//std.Adress = user.Adress;

dbContext.Entry(std).State = System.Data.Entity.EntityState.Modified;
dbContext.SaveChangesAsync();

return Ok();
}
}
}

模型类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test.Models
{
public class User
{
public int Id { get; set; }
public string Name { get; set; }
//public DateTime startTime { get; set; }
//public DateTime endTime { get; set; }
//public string Gender { get; set; }
//public string Adress { get; set; }
}
}

编辑:添加了连接字符串代码

<connectionStrings>
<add name ="Connection"
connectionString="Data Source=\.SQLEXPRESS;Initial Catalog=PonesiLoptu;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>*

编辑 2:添加了 ApiDbContext 代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using Test.Models;

namespace Test.DBA
{
public class ApiDbContext :DbContext
{
public ApiDbContext() : base("Connection")
{

}

public DbSet<User> Users { get; set; }
}
}

最佳答案

有一个小类型,主机名(.这种情况)应该在\分隔符之前,更改:

<connectionStrings>
<add name ="Connection" connectionString="Data Source=\.SQLEXPRESS;Initial Catalog=PonesiLoptu;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

到:

<connectionStrings>
<add name ="Connection" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=PonesiLoptu;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

关于c# - ASP.NET WebAPI 错误 : an exception of type 'System.Data.SqlClient.SqlException' occurred in EntityFramework. dll 但未在用户代码中处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40321591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com