gpt4 book ai didi

c# - EF代码第一个自动外键关联问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:05 25 4
gpt4 key购买 nike

我首先通过本教程基本掌握了最新版本的 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”时,该网站的“主页”为空。

显然,在文档方面几乎没有,因为它仍在开发中,但只是想知道是否有人有任何想法?我需要开始用属性装饰属性吗?或者我是在要求它理解一些它永远不会理解的东西?!

提前感谢大家。无论如何,我会坚持并发回任何我发现的明显内容。罗布

最佳答案

尝试用这样的 ForeignKey 属性标记您的 HomePage 属性

[Foreignkey("HomePageId")]
public virtual SitePage HomePage { get; set; }

你也可以使用流畅的配置,但不记得了

关于c# - EF代码第一个自动外键关联问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com