2009-06-15 9 views
6

私は公開列挙型指定されたプロパティ

のint入力されたフィールドを持つエンティティを持っていると私は取得し、列挙型の値を受け取るプロパティとして公開これらのフィールドにしたいです強く型付けされた作業のため。

私はエンティティの新しい部分クラスを作成し、2つのプロパティを追加しました。

私はTestEntityの新しいインスタンスを作成し、コンテキストに追加し、 と私は次の例外を取得、変更保存呼び出そう:この要求の処理中に

エラーが発生しました。 System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptionsオプションでSystem.Data.Services.Client.DataServiceContext.SaveAsyncResult.EndRequestでSystem.Data.Services.Client.DataServiceContext.SaveAsyncResult.HandleBatchResponseで () () System.Data.Services.Client.DataServiceContext.SaveChangesで) ()

内部例外がある:

のSystem.InvalidOperationException:タイプ 'enum1' には設定可能なプロパティを持っていません。 at System.Data.Services.Client.ClientType..ctor(Type type、String typeName、Boolean skipSettableCheck) at System.Data.Services.Client.ClientType.Create(型の型、ブール型expectModelType) at System.Data。 System.Data.Services.Client.DataServiceContext.SaveAsyncResultで を返します。 System.Data.Services.Client.DataServiceContext.SaveAsyncResult.BeginNextChangeで.CreateChangeData(のInt32インデックス、ブール改行) (ブールreplaceOnUpdate)

私はクラスプロパティとしてenumプロパティを反映しようとしていると考えました。 これらのプロパティを反映させようとすると、コンテキストを無視させることができます。

私はVS 2008チームスイートsp1、SQL Server 2008、.Net 3.5 Sp1を使用しています。

ヘルプ。

パーシャルクラスコード:

public partial class TestEntity 
{  
    public enum1 Field1 
    { 
     get 
     { 
      return (enum1)field1; 
     } 
     set 
     { 
      field1 = (Int16)value; 
     } 
    } 

    public enum2 Field2 
    { 
     get 
     { 
      return (enum2)field2; 
     } 
     set 
     { 
      field2 = (Int16)value; 
     } 
    } 
}  
+0

この問題を回避する方法はありますか? – Ram

答えて

2

私はあなたができるとは思いません。 ADO.Net Data Servicesでは、サーバーに送信されるプロキシオブジェクトに列挙型を使用できません。代わりにint(またはshort)を使用するようにオブジェクトを変更してみてください。

関連する問題