我已将 SQL Server 2008 数据库中的一个表从 eL_CourseStepUserNotes 重命名为 StepUserNotes。我使用 SSMA 重命名了表。
该表用于 ASP.NET 4.0 应用程序。我对所有 CRUD 使用 LINQ to SQL。问题在于以下代码:
dbDataContext db = new dbDataContext();
var k = (from c in db.StepUserNotes
where ((c.CourseStepFK == q.CourseStepFK) && (c.UserFK == q.UserFK))
select c).FirstOrDefault();
try
{
db.StepUserNotes.InsertOnSubmit(q);
db.SubmitChanges();
}
catch
{
}
在 db.SubmitChanges 行上失败,说:
SqlException was caught. Invalid object name 'eL_CourseStepUserNotes'.
即,桌子的旧名称又回来困扰我了。
我删除了旧的 LINQ to SQL dbml 文件并创建了一个新文件。我已经在所有源代码中搜索了包含旧表名的字符串。没有。代码编译...
我还能在哪里看?
该错误来自 SQL Server,并使用该实用程序列出 SQL Server 数据库中的所有外键,如 SO 问题所示: sql:need to change constraint on rename table?
在 FK 中也没有显示旧表名的迹象。
我完全不知道在哪里看或下一步要尝试什么。有什么建议么?