间歇性地使用LINQ To SQL丢失DataContext的范围

时间:2010-05-01 17:24:11

标签: c# .net linq-to-sql

我的DataConext有一个奇怪的情况。 我的所有代码都在C#中 我的数据访问层和业务层有一个DLL项目,我的UI层有Winforms项目。

我的数据访问层的命名空间是xxx.Data这是我的xxx.dbml我当然还有xxx.Data.BusinessObjects名称空间,当然是我项目中的业务对象

在我的UI层中,我有这些名称空间xxxApp(用于表单),xxxApp.Controls(用于控件)

我已经丢失了DataContext的范围,现在当我进行重建解决方案时可以访问它我有时会遇到编译错误,例如:

错误34'xxx.Data.xxxDataContext'不包含'SubmitChanges'的定义,并且没有扩展方法'SubmitChanges'接受类型'xxx.Data.xxxDataContext'的第一个参数可以找到(你是吗?)缺少using指令或程序集引用?)

此外,intelisense不再识别我的xxxDataContext中的方法和表类

当我在DLL项目中但现在在Winforms项目中

时,我可以正常访问所有对象 这很奇怪。如果有人能帮助我,我将非常感激!

2 个答案:

答案 0 :(得分:3)

也许您在DLL和Winforms项目中复制了.dbml文件。如果是这样,请删除不需要的文件,并修复错误。

答案 1 :(得分:0)

您可能在Windows窗体项目中缺少某些程序集引用,如此post。 你看到其他任何错误吗?例如:

“错误x类型'System.Data.Linq.DataContext'在未引用的程序集中定义。您必须添加对程序集'System.Data.xxxx,Version = xxxx,Culture =的引用中立,PublicKeyToken = ...........

如果项目参考中缺少 System.Data.Linq System.Data.Entities ,请尝试添加。