C# Linq Sql数据库上下文丢失方法

C# Linq Sql数据库上下文丢失方法,c#,sql-server,linq,C#,Sql Server,Linq,我最初有一个项目,我使用它作为数据库的连接,但问题是,当我通过从服务器资源管理器中拖动表来将刚刚创建的新表添加到dbml文件中时,它似乎可以工作,但没有工作。相反,它只是抛出一个错误 代码 PIMDataContext dbContext = new PIMDataContext(); foreach (var thing in dbContext.Product_NewProduct_Xrefs) Console.WriteLine(thing.Pro

我最初有一个项目,我使用它作为数据库的连接,但问题是,当我通过从服务器资源管理器中拖动表来将刚刚创建的新表添加到dbml文件中时,它似乎可以工作,但没有工作。相反,它只是抛出一个错误

代码

 PIMDataContext dbContext = new PIMDataContext();
        foreach (var thing in dbContext.Product_NewProduct_Xrefs)
            Console.WriteLine(thing.ProductNumber);
        Console.Read();
PIM.dbml(我编辑的dbml也是上面提到的dbml)

最后是错误

Method not found: 'System.Data.Linq.Table`1<PIM_DATA.Product_NewProduct_Xref> PIM_DATA.PIMDataContext.get_Product_NewProduct_Xrefs()'.
未找到方法:“System.Data.Linq.Table`1 PIM\u Data.PIMDataContext.get\u Product\u NewProduct\u Xrefs()”。 我已经查过了

  • 重建
  • 重新启动VS2012
  • 重新导入数据库项目
  • 删除引用并重新添加引用

最终删除了与db的整个连接。重新输入连接详细信息并重新创建整个dbml文件。

是否刷新了该文件。。?我还记得VS对此有问题,您是否有原始版本的备份。。当您添加它时,它会使用.cs文件中的hear语句从我记忆中删除2或3。。请阅读此链接,了解刷新.dbml文件的步骤。我在dbml文件中添加了一个完整的表,因此没有理由不刷新。我只是将一个属性设置为nullable,然后保存并重新生成它,然后重新生成,仍然存在相同的错误。是否可能数据库项目没有真正得到重建?或者它是在调试配置中重建的,而您的主项目引用了发行版dll?试着找出是谁调用get_Product_NewProduct_Xrefs,我认为linq2sql不应该生成它。