获取异常'类型'SerializableClass'没有映射为表

本文关键字:映射 类型 异常 获取 SerializableClass | 更新日期: 2023-09-27 18:08:12

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

header.lng_LengthId = LengthId;
dc.OP_TetherLengths.Attach(currHeader, true);
dc.Refresh(RefreshMode.KeepCurrentValues, header);
dc.SubmitChanges();
header是包含表中已有值的对象,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.

请告诉我我走错方向了。如果你需要更多的信息,请让我知道,我会尽量提供。

获取异常'类型'SerializableClass'没有映射为表

我找出了我错的地方。我在附加方法中使用currHeader,我必须使用对象。现在这个问题解决了,使用header来代替currHeader:

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

感谢大家花时间讨论这个问题。