连接到表错误

本文关键字:错误 连接 | 更新日期: 2023-09-27 17:49:33

我试图列出远程SQL Server db的内容。控制器中出现错误。我得到一个NullReference错误后做一些调试,我注意到表没有被发现。所以我不确定如果它的连接字符串或如果我错过了什么。表格在服务器资源管理器中显示得很好,但在App Data下没有显示。什么好主意吗?

模型:

RegionalSalesManagers.cs

public class RegionalSalesManagers
{
    [Key]
    public string   Code { get; set; }
    public char Name { get; set; }
}

RegionalSalesManConnection.cs

public class RegionalSalesManConnection : DbContext
{
    public RegionalSalesManConnection() : base("RegionalSalesManConnection") { }
    public DbSet<RegionalSalesManagers > RegionalManagers { get; set; }    
}

WebConfig

<add name="RegionalSalesManConnection" providerName="System.Data.SqlClient" connectionString="Server=01DEV'SQLDEV01;Database=Caplugs_Nav_Data;Trusted_Connection=Yes" />

HomeController

public class HomeController : Controller {
    RegionalSalesManConnection db = new RegionalSalesManConnection();
    public ViewResult Index() {
        var model = db.RegionalManagers.ToList();
        return View();
    }
<<p> 视图/strong>
@foreach(item in Model){
@Html.DisplayFor(item.Code, item.Name)
}

连接到表错误

HomeController实际上并没有将模型传递给视图,所以如果没有关于异常在哪里引发的进一步信息(或堆栈跟踪细节),它可能是原因。

所以一些建议的改变:

  • 使用构造函数创建数据库上下文
  • 通过View(model)model传递给视图

看起来像:

public class HomeController : Controller {
    private RegionalSalesManConnection _db;
    public HomeController() {
        _db = new RegionalSalesManConnection();
    }
    public ViewResult Index() {
       var model = db.RegionalManagers.ToList();
       return View(model);
    }
}