获取异常“类型'SerializableClass'未映射为表。”

时间:2013-04-08 06:13:54

标签: c# linq-to-sql serialization

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

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

此处 currheader 是包含表格中现有值的对象,标题可序列化类的对象,具有最新值。

以下是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.

请告诉我我的方向错误。如果您需要更多信息,请告诉我,我会尽力提供。

先谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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