0

このコードを使用して1つのテーブルを更新しようとしています:

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を使用していました.今、この問題はcurrHeaderの代わりにヘッダーを使用して解決しました:

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

この問題に時間を割いていただき、ありがとうございます。

于 2013-04-11T09:22:10.027 に答える