DataAnnotationフレームワークと連携して、新しいEntityFramework 4.1とPOCOオブジェクトを使用しています。POCO Entity Framework 4を使用するとデータアノテーションが失われる
EntityFrameworkでプロキシクラス(遅延ロード仮想プロパティなど)を作成する必要がある場合、すべてのデータ注釈が失われます。私のModelMetaDataが、プロキシクラスではなくプロキシされたクラスから来ることができる方法はありますか?
私はプロキシ作成(context.Configuration.ProxyCreationEnabled
)を無効にする選択肢があることを知っていますが、これは貧弱な答えのようです。これは解決されたものでなければならないと思います。ここで
は、いくつかのサンプルコードです:
public class Person
{
[Required, Display(Name = "Display That Name")]
public string DisplayName { get; set; }
}
そしてビューの私のモデルのメタデータで、タイプは次のとおりです。Person_9C92B92D56F6F4F0FB1686526D585438A05323CC72E457C2152796E8866297E1 (FullName = "System.Data.Entity.DynamicProxies.Person_9C92B92D56F6F4F0FB1686526D585438A05323CC72E457C2152796E8866297E1"})
、私のメタデータがなくなって、DisplayNameおよびその「表示名」ではない」の表示で出てレンダリングされます名"。
提案がありますか?
:
その後は、メタデータを保持してオーバーライドされることはありませんメタデータクラスを作ることができますObjectContext.GetObjectTypeを使用するのが「少し」簡単にプロキシされました。 – jamie
@jamieありがとう、私はちょうどあなたの提案を使用するように編集! –