in

@Prog! - ASP.NET(C#) AJAX -

ASP.NET(C#) 2.0 & ASP.NET Ajax (ATLAS) のメモ書き

LINQ System.Data.Linq.ChangeTracker+StandardChangeTracker

最新の投稿は、投稿日時: 2008/05/09 16:06 投稿者: ASANO です。スレッドには 2 件の返答があります。
ページ 1 / 1 (3 アイテム)
投稿の並べ替え: 前へ 次へ
  • 2008/05/09 15:54

    LINQ System.Data.Linq.ChangeTracker+StandardChangeTracker

    アセンブリ 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' の型 'System.Data.Linq.ChangeTracker+StandardChangeTracker' はシリアル化可能として設定されていません。
    説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

    例外の詳細: System.Runtime.Serialization.SerializationException: アセンブリ 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' の型 'System.Data.Linq.ChangeTracker+StandardChangeTracker' はシリアル化可能として設定されていません。

  • 2008/05/09 15:56 回答元:

    Re: LINQ System.Data.Linq.ChangeTracker+StandardChangeTracker

    -- MSDN --

    ○シリアル化 (LINQ to SQL)
    オブジェクト リレーショナル デザイナで、Serialization Mode プロパティを Unidirectional に変更します。詳細についてはオブジェクト リレーショナル デザイナ (O/R デザイナ)を参照してください。

    SQLMetal コマンド ラインに /serialization オプションを追加します。詳細については、「コード生成ツール (SqlMetal.exe)」を参照してください。

    http://msdn.microsoft.com/ja-jp/library/bb546184.aspx

  • 2008/05/09 16:06 回答元:

    Re: LINQ System.Data.Linq.ChangeTracker+StandardChangeTracker

    [Table(Name="dbo.d_TestTable")]
    [DataContract()]
    [Serializable()]
    public partial class TestClass : INotifyPropertyChanging, INotifyPropertyChanged
    {  
     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
      
     private int _ID;  
     private string _Name;
      
     public TestClass()
     {
      this.Initialize();
     }
     
     [Column(Storage="_ID", DbType="Int NOT NULL", IsPrimaryKey=true)]
     [DataMember(Order=1)]
     public int ID
     {
      get
      {
       return this._ID;
      }
      set
      {
       if ((this._ID != value))
       {
        this.OnIDChanging(value);
        this.SendPropertyChanging();
        this._ID = value;
        this.SendPropertyChanged("ID");
        this.OnIDChanged();
       }
      }
     }
      
     [Column(Storage="_Name", DbType="NVarChar(100) NOT NULL", CanBeNull=false)]
     [DataMember(Order=2)]
     public string Name
     {
      get
      {
       return this._Name;
      }
      set
      {
       if ((this._Name != value))
       {
        this.OnItemNameChanging(value);
        this.SendPropertyChanging();
        this._Name = value;
        this.SendPropertyChanged("Name");
        this.OnItemNameChanged();
       }
      }
     }

            [field: NonSerialized]
     public event PropertyChangingEventHandler PropertyChanging;

            [field: NonSerialized]
     public event PropertyChangedEventHandler PropertyChanged;
      
     public virtual void SendPropertyChanging()
     {
      if ((this.PropertyChanging != null))
      {
       this.PropertyChanging(this, emptyChangingEventArgs);
      }
     }
      
     public virtual void SendPropertyChanged(String propertyName)
     {
      if ((this.PropertyChanged != null))
      {
       this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
      }
     }
      
     private void Initialize()
     {
      OnCreated();
     }
      
     [OnDeserializing()]
     [System.ComponentModel.EditorBrowsableAttribute(EditorBrowsableState.Never)]
     public void OnDeserializing(StreamingContext context)
     {
      this.Initialize();
     }
    }

ページ 1 / 1 (3 アイテム)