获取异常'类型'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.
请告诉我我走错方向了。如果你需要更多的信息,请让我知道,我会尽量提供。
我找出了我错的地方。我在附加方法中使用currHeader,我必须使用头对象。现在这个问题解决了,使用header来代替currHeader:
header.lng_LengthId = LengthId;
dc.OP_TetherLengths.Attach(header, true);
dc.Refresh(RefreshMode.KeepCurrentValues, header);
dc.SubmitChanges();
感谢大家花时间讨论这个问题。