繁体   English   中英

这个无效的对象名称从何而来?

[英]Where did this invalid object name come from?

我有一个简单的SQL UPDATE查询,抱怨“ ASP.NET项目中根本不存在”无效的对象名” AuditCrudFields (我已经在我的项目中尝试了对AuditCrudFields进行AuditCrudFields ,但找不到匹配项。)

UPDATE语句是:

UPDATE [dbo].[PartModel]
SET partOfficial = 39, updateTS = CONVERT(DATETIME, ‘2017-12-08’, 111)  
WHERE partId = 298

返回的错误:

在此处输入图片说明

令人费解的是,这些都是PartModel内部存在的所有属性。 所以我想知道AuditCrudFields来自哪里?

public class PartModel : EntityInformation
{
    [Key]
    public Int64 partId { get; set; }

    public int partTypeId { get; set; }
    [ForeignKey("partTypeId")]
    public virtual PartTypeModel PartType { get; set; }

    public int locationId { get; set; }
    [ForeignKey("locationId")]
    public virtual LocationModel Location { get; set; }

    public int partOfficial { get; set; }
    public int partUnofficial { get; set; }
    public int partThreshold { get; set; }

    public string partImg { get; set; }
    public int partStatus { get; set; }
}

您可以运行此查询来查找尝试使用表AuditCrudFields的SQL对象代码:

select *
from sys.objects
where object_definition(object_id) like '%AuditCrudFields%'

如果这不在触发器定义内,我会感到非常惊讶。

您拥有的是一个删除或重命名的对象,称为AuditCrudFields (我将其称为AuditCrudFields对象)

这可能在Trigger定义内(或可能埋在存储过程,函数或索引定义内...)

查找失效对象的最有效方法是将整个数据库脚本化为文本(成一个大的SQL脚本),然后搜索文本...

在找到文本的位置,它将指向使用它的位置(也许是触发器),然后您可以修复或删除触发器,并希望将其修复。

还有就是帮助很多与互联网或等脚本SQL Server数据库,但这里是另一个链接

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM