Сначала я получил базовое представление о последней версии кода EF в этом уроке - http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs, но я немного озадачен одним аспектом и задаюсь вопросом, может ли кто-нибудь пролить на него свет? Чтобы объяснить - есть класс с именем «Сайт», который я хочу иметь поле с именем «HomePageId», который затем должен сопоставляться с объектом «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" сайта становится пустым.
Очевидно, что есть немного с точки зрения документации, потому что она все еще находится в разработке, но просто интересно, есть ли у кого-нибудь какие-нибудь идеи? Нужно ли начинать украшать свойства с помощью атрибутов? Или я прошу его понять то, чего никогда не будет?!
Спасибо всем заранее. В любом случае я буду настойчивым и отправлю обратно все, что найду, очевидно.
Rob