まず、エンティティフレームワークv6.0 DBを使用しています。MetaDataクラスのIgnoreDataMember属性が機能しません。
特定のナビゲーションプロパティのために、あるクラスがシリアル化を壊すという問題があります。
私はautoに追加しているIgnoreDataMemberにCSクラスにを属性を生成し、予想通りすべてが(直列化が通過する)動作しますが、次回誰かがそれが消えスクリプトを生成するので、私はもちろん、そこにそれを残すことはできません私は以下のようなMetaDataクラスを作成しましたが、うまくいきません。
public class SomeClassMetaData
{
[IgnoreDataMember]
public virtual ICollection<SomeFoo> FOO { get; set; }
}
部分(非自動生成された)クラス:
[MetadataType(typeof(SomeClassMetaData))]
public partial class SomeClass
{
}
(自動生成)クラスの一部部分:
public virtual ICollection<SomeFoo> FOO { get; set; }
メタデータ(シリアライズはまだ壊れ)私はチェックした:
-
の
- 部分的なクラスが同じ名前
- 同じ名前空間
- 部分公衆
- オープニングモデルブラウザと節約の両方を持っています。
何が間違っているかわかりません。
ありがとうございました...私はそれを調べます...他のオプションは? –
代替のオプションは、モデルを使用してプロパティを除外してビューモデルをシリアライズしますが、構造アノテーションよりも改善されているかどうかはわかりません。 – Bago