2011-01-17 12 views
1

2つのテーブルの間に一対一の関係を作成しようとしていますが、結果として1対多があります。このコードの問題は何ですか?エンティティフレームワークのコード最初の1対1の関係

namespace EFCF_Demo.Models 
{ 
    public class Post 
    { 
     [Key] 
     public int ID { get; set; } 
     public string Title { get; set; } 
     public string MiniContent { get; set; } 
     public string Author { get; set; } 
     public DateTime PublishDate { get; set; } 
     public int Rating { get; set; } 
     public virtual Content MainContent { get; set; } 
    } 

    public class Content 
    { 
     public int ID { get; set; } 
     public virtual Post Post { get; set; } 
     public string FullContent { get; set; } 
    } 

    public class PostEntities : DbContext 
    { 
     public DbSet<Post> Posts { get; set; } 
     public DbSet<Content> Contents { get; set; } 
    } 
} 
+0

コンテンツクラスでKeyAttributeが表示されません。 –

+0

鍵はEFCFとIDによって自動的に検出されます。私は流暢なAPIでこれを解決しますが、鋼はコンテンツを保存することにいくつかの問題があります。 –

+0

私が間違っていない場合、プロパティの名前がIdまたはClassNameIdの場合、主キーと見なされます – hazimdikenli

答えて

1

問題が解決されたその後

public DbSet<Content> Contents { get; set; } 

を除去することによって、我々はトンを使用する必要はありません彼はFluent APIを使用していましたが、私は保存に関するいくつかの問題があります。

2

PostクラスはContentクラスに、ContentIdはPostクラスには必要ありませんか?

 public class Content 
     { 
      [Key] 
      public int PostId { get; set; } 
      public virtual Post Post { get; set; } 
      public string FullContent { get; set; } 
     } 

これについてはどうすればよいですか?

関連する問題