首页 > 解决方案 > SqlException:无效的对象名称“服务”

问题描述

我正在努力加快使用 ASP.NET MVC 进行 Web 开发。我得到找不到对象错误,

SqlException:无效的对象名称“服务”

这似乎很常见。我已经验证了表存在并且数据库存在并且表名之前或之后没有空格。我可以访问数据库,否则我会收到另一个错误。

在我的服务类中,我使用表分类器告诉系统实际的表名,如下所示。

[Table ("service")]
public class service
{
    [Key]
    public int service_id { get; set; }
    public string service_name { get; set; }
    public string service_logo { get; set; }

    public int externalcontacts_id { get; set; }
    public int classification_id { get; set; }
}

当我尝试访问数据库以获取实时数据以传递给我的视图时,会发生错误。我尝试过更正式的 LINQ 查询,但无论我做什么,我都会得到同样的错误。生成它的当前代码如下。

public async Task<IActionResult> Index()
{
    var serviceList = await (_context.Services).ToListAsync();

    return View(serviceList);
}

我正在使用 Visual Studio 2019。我可以在服务器资源管理器中看到数据库并访问数据,但我无法从我的应用程序中访问它。我不是数据库管理员。他们是否需要授予我的应用程序特权?我不知道。我从未使用过 SQL Server。

标签: c#sql-serverentity-framework

解决方案


可能是您使用了错误的数据库、错误的架构、数据库区分大小写、您的大小写错误,或者您连接的用户错误。从您的应用程序代码中查询目录,看看您是否可以看到该表。例如,这会返回什么?

select quotename(schema_name(schema_id)) + '.' + quotename(name) table_name
from sys.tables  t
where t.name like '%service%' collate Latin1_General_CI_AI

推荐阅读