だから私は、私は森のクラスを持っているスーパー混乱し、Entity Frameworkのコードファーストに
を使用しています。
私はTreeクラスを持っています。私は
public class Forest
{
public Guid ID { get; set; }
public virtual List<Tree> Trees { get; set; }
}
public class Tree
{
public Guid ID { get; set; }
public Guid? ForestId {get;set;}
[ForeignKey("ForestId")]
public virtual Forest Forest {get;set;}
}
すべての森は木を持っているではなく、すべての木が森の中にある循環参照を取得したシリアル化しようとしていたとき
各フォレストには、多くの木
を持つことができます。モデルが森にある
@(Html.Raw(Json.Encode(Model)))
を行うとき、私は多重度のいずれかのエラーと格闘し、私が代わりにGuid?
のForestId
Guid
を作る場合、私は循環参照エラーが発生します。
私も 保護されたオーバーライドボイドを試してみました事前に
OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
modelBuilder.Entity<Forest>()
.HasMany(x => x.Tree)
.WithOptional()
.HasForeignKey(y => y.ForestId);
}
おかげ
DataContractSerializerを使用していますか?もしそうなら、あなたのDataContractsは表示されませんが、IsReference = trueを設定する必要があります。 –