组装\'\'中的类型\'\'未标记为可序列化 linq-to-sql

问题描述

| 我正在使用asp.net,并将会话配置为存储在sql Server中。我的项目有很多对象和几个linq-to-sql dbml。我已经将它们配置为具有单向序列化,并且还进行了一些自定义更改。 当我运行应用程序时,我的application_error事件处理程序中不断出现此错误 程序集\'App_Code.thzd8p2j,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null \'中的类型\ Data.Karaoke.spcwp_SelUserPrivilegesResult \未标记为可序列化。 从错误我不确定它是否来自dbml.designer.cs文件,这是代码
[Function(Name=\"dbo.spcwp_SelUserPrivileges\")]
public ISingleResult<spcwp_SelUserPrivilegesResult> spcwp_SelUserPrivileges([Parameter(Name=\"IDcwpUser\",DbType=\"Int\")] System.Nullable<int> iDcwpUser)
{
  IExecuteResult result = this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),iDcwpUser);
  return ((ISingleResult<spcwp_SelUserPrivilegesResult>)(result.ReturnValue));
}
[DataContract()]
public partial class spcwp_SelUserPrivilegesResult
{

  private int _IDTypecwpModule;

  private string _TypeKey;

  private bool _Security;

  public spcwp_SelUserPrivilegesResult()
  {
  }

  [Column(Storage=\"_IDTypecwpModule\",DbType=\"Int NOT NULL\")]
  [DataMember(Order=1)]
  public int IDTypecwpModule
  {
    get
    {
      return this._IDTypecwpModule;
    }
    set
    {
      if ((this._IDTypecwpModule != value))
      {
        this._IDTypecwpModule = value;
      }
    }
  }

  [Column(Storage=\"_TypeKey\",DbType=\"VarChar(10) NOT NULL\",CanBeNull=false)]
  [DataMember(Order=2)]
  public string TypeKey
  {
    get
    {
      return this._TypeKey;
    }
    set
    {
      if ((this._TypeKey != value))
      {
        this._TypeKey = value;
      }
    }
  }

  [Column(Storage=\"_Security\",DbType=\"Bit NOT NULL\")]
  [DataMember(Order=3)]
  public bool Security
  {
    get
    {
      return this._Security;
    }
    set
    {
      if ((this._Security != value))
      {
        this._Security = value;
      }
    }
  }
}
如何确定错误的来源? 或错误是什么意思? 我不确定如何解决或寻找解决问题的方法。     

解决方法

        看来您正在应用程序中运行某种类型的序列化。与DataContract序列化不同的序列化。 创建一个新文件并输入以下内容:
[Serializable]
public partial class spCWP_SelUserPrivilegesResult { }
如果从数据库刷新dbml文件,则可以在一个单独的文件中执行此操作。     ,        不知道是否适用于SQL Server CLR,但通常使用.Net,我会建议您将代码更新为:
[Serializable()]
[DataContract()]
public partial class spCWP_SelUserPrivilegesResult
{
    ...