0

我只是尝试使用以下代码更新一个表:

header.lng_LengthId = LengthId;
dc.OP_TetherLengths.Attach(currHeader, true);
dc.Refresh(RefreshMode.KeepCurrentValues, header);
dc.SubmitChanges();

这里currheader是包含表中现有值的对象,而header是具有最新值的Serializable 类的对象。

这是 Serializable 类的定义:

[Serializable()]
public class TetherLengthHeader
{
    public int lng_LengthId { get; set; }
    public string str_systemid { get; set; }
    public System.DateTime dte_dateadded { get; set; }
    public string str_LengthId { get; set; }
    public System.Nullable<double> dbl_newlength { get; set; }
    public System.Nullable<bool> bln_deleted { get; set; }
    public string str_createdby { get; set; }
    public System.Nullable<System.DateTime> dte_created { get; set; }
    public string str_modifiedby { get; set; }
    public System.Nullable<System.DateTime> dte_modifieddate { get; set; }
    public System.Nullable<int> lng_status { get; set; }
    public System.Nullable<int> lng_lengthuom { get; set; } 
}

问题 :

当我尝试更新值时,我得到了这个异常:

The type 'Common.Data.TetherLengthHeader' is not mapped as a Table.

请让我知道我要去哪里方向错误。如果您需要更多信息,请让我知道我会尽力提供。

提前致谢。

4

1 回答 1

0

我发现了我错的问题。我在 Attach 方法中使用了 currHeader,我必须使用header对象。现在这个问题使用header代替currHeader解决了:

header.lng_LengthId = LengthId;
dc.OP_TetherLengths.Attach(header, true);
dc.Refresh(RefreshMode.KeepCurrentValues, header);
dc.SubmitChanges();

感谢大家花一些时间在这个问题上。

于 2013-04-11T09:22:10.027 回答