このチュートリアルを介して、最初にEFコードの最新バージョンの基本的なグリップを取得しました- http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-csしかし、少し混乱していますある側面について、誰かがそれに光を当てることができるかどうか疑問に思っていますか? 説明するために-「Site」というクラスがあり、「HomePageId」というフィールドが必要であり、そのIDで「SitePage」オブジェクトにマップする必要があります。シンプルに見えますか?しかし、EF が Db と関係を作成するとき、これを理解していないようです。私はそれが間違っていると確信しています-ここにコードがあります:
public class Site
{
public int SiteId { get; set; }
public string SiteName { get; set; }
public string SiteUrlPortion { get; set; }
// Relationship - SitePages
public virtual ICollection<SitePage> SitePages { get; set; }
// Relationship - HomePage
public int HomePageId { get; set; }
public virtual SitePage HomePage { get; set; }
}
public class SitePage
{
public int SitePageId { get; set; }
public string SitePageTitle { get; set; }
public string SitePageUrlPortion { get; set; }
// Relationship - Site
public int SiteId { get; set; }
public virtual Site Site { get; set; }
}
ご想像のとおり、「SitePage」クラスは「Site」への関係を生成します。しかし、両方のテーブルの列に関して私が得たものは、意味をなさないだけでなく、コード側からの関係が期待どおりに機能しません。(たとえば、「サイト」に「HomePageId」を指定すると、サイトの「HomePage」は null になります。
明らかに、これはまだ開発中であるため、ドキュメントに関してはほとんど公開されていませんが、何かアイデアがあるかどうか疑問に思っていますか? プロパティを属性で装飾する必要がありますか? それとも、決して理解できない何かを理解するように求めていますか?!
事前にすべてに感謝します。とにかく辛抱して、明らかに見つけたものは何でも投稿します。ロブ