2009-07-27 13 views
4

エンティティフレームワーククラスにカスタムプロパティを追加する必要がありますが、「XXX型に対して指定されたプロパティ名が無効です」というメッセージが表示されます。エラー。私はプロパティを与えることができるいくつかの属性があるので、無視され、何にもマッピングされませんか?クライアント側エンティティクラスにカスタムプロパティを追加する

編集:以下のMartinの例に示すように、カスタムプロパティを追加すると、次のコードでSaveChanges呼び出しで上記のエラーが発生します。

MyEntities svc = new MyEntities(url); 
MyEntity ent = new MyEntity(); 
ent.MyField = "Hello, world"; 
svc.AddMyEntity(ent); 
svc.SaveChanges(); 
+1

コードを教えてください! –

+0

スローされる例外の種類は何ですか?カスタムプロパティを削除するとどうなりますか?名前を変更するとどうなりますか? –

+0

System.Data.Services.Client.DataServiceRequestExceptionが発生しました(この要求の処理中にエラーが発生しました)。その内部にSystem.Data.Services.Client.DataServiceClientExceptionがあります(XXX型に指定されたプロパティ名XXXは無効です。 )。カスタムプロパティを削除したり、それを関数にすると、すべて正常に動作します。その名前が異なる場合、同じ問題が発生します。 – Sprintstar

答えて

2

あなたは、コード内のプロパティを追加することができます。

public partial class MyEntity { 
    public String MyCustomProperty { 
    get; 
    set; 
    } 
} 

Entity Frameworkのは、生成されたクラスをカスタマイズするためにあなたを可能に部分クラスを生成します。あなたのコードにコメントすることも

、私はこのような何かにそれを変更すべきだと思う:

MyEntities svc = new MyEntities(url); 
// Create MyEntity using the factory method. 
MyEntity ent = MyEntities.CreateMyEntity(...); 
ent.MyField = "Hello, world"; 
svc.AddMyEntity(ent); 
svc.SaveChanges(); 

これはあなたのエンティティが適切に初期化されていることを確認します。ここで

+0

これは私がやったことですが、MyEntityクラスを使用すると上記のエラーが発生します。 – Sprintstar

+0

エラーが発生したときに明確にすることはできますか?モデルの検証中、コンパイル時、または実行時に? –

+0

オブジェクトを使用してデータベースを更新しようとすると、次のようになります。 MyEntities svc = new MyEntities(url); MyEntity ent = new MyEntity(); ent.MyField = "こんにちは、世界"; svc.AddMyEntity(ent); svc.SaveChanges(); SaveChangesに関する例外が発生します。 – Sprintstar

関連する問題