打开一个特定表单时出现此错误。其余的工作正常,我不知道为什么这个不是。
错误:已尝试附加或添加一个不是新的实体,可能是从另一个 DataContext 加载的。这是不支持的。
当我尝试保存时,我在 _oDBConnection 处收到错误消息。当我在运行代码时观看 _oDBConnection 时,它不存在。即使我打开主窗口它也不存在。所以这个表单是第一次构建 DataContext 的地方。
每个类都从构建 DataContext 的 clsBase 继承。
我的同事是建造这一切的专业人士。我只是在扩展和使用它(边做边学)。但现在我被困住了,他正在度假。所以保持简单:-)
会是什么?
clsPermanency
namespace Reservation
{
class clsPermanency : clsBase
{
private tblPermanency _oPermanency;
public tblPermanency PermanencyData
{
get { return _oPermanency; }
set { _oPermanency = value; }
}
public clsPermanency()
: base()
{
_oPermanency = new tblPermanency();
}
public clsPermanency(int iID)
: this()
{
_oPermanency = (from oPermanencyData in _oDBConnection.tblPermanencies
where oPermanencyData.ID == iID
select oPermanencyData).First();
if (_oPermanency == null)
throw new Exception("Permanentie niet gevonden");
}
public void save()
{
if (_oPermanency.ID == 0)
{
_oDBConnection.tblPermanencies.InsertOnSubmit(_oPermanency);
}
_oDBConnection.SubmitChanges();
}
}
}
clsBase
public class clsBase
{
protected DBReservationDataContext _oDBConnection;
protected int _iID;
public int ID
{
get { return _iID; }
}
public DBReservationDataContext DBConnection
{
get { return _oDBConnection; }
}
public clsBase()
{
_oDBConnection = new DBReservationDataContext();
}
}