2010-11-25 15 views
2

実行時にエンティティフレームワークによって生成されたクラスにプロパティを追加することは可能ですか? DynamicObjectから継承したPOCOクラスでは成功しましたが、エンティティクラスで同じことをしようとすると、「[クラス名]の部分宣言で異なる基本クラスを指定してはいけません」というエラーが表示されます。エンティティオブジェクトにプロパティを動的に追加することはできますか?

答えて

1

私は実際にはL2Sでうまく動作しています。結局のところ、DynamicObjectは不思議な獣です。 でした3.5SP1スタイルの共通ベースクラスのアプローチではなく、EF 4 POCO supportを使用していることを確認してください。しかし、正直言ってこれが行く方法はわかりません...データベースオブジェクトは、実際ににはの動的プロパティIMOがあります。

目的は明確ではありませんが、データバインディング用の場合は、ICustomTypeDescriptorまたはTypeDescriptionProviderを介してカスタムオブジェクトモデルを参照することをお勧めします。これは実行時に(dynamicを必要とせずに)オブジェクトを拡張すると思われるの古いテクノロジです。

+0

Linq-to-SQLは分かりませんが、実体フレームワークの4.0では動作しませんが、最初から作成するPOCOクラスでのみ動作します。実行時に自動的に生成されたエンティティにプロパティを追加したいと思います。テナントごとに異なる名前ペア値を取得しています。 – HBCondo

+0

@ user327066 - POCOツールを試しましたか? http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx –

関連する問題