gpt4 book ai didi

asp.net-mvc-4 - MVC 中的外键注解

转载 作者:行者123 更新时间:2023-12-01 09:26:56 25 4
gpt4 key购买 nike

我有两张 table

State(StateID int,StateName string)

City(CityID int,StateID int,CityName string)

我正在使用代码优先方法开发 MVC4。我用于 StateCity 模型的代码是 -

对于州:

[Key]

public int StateID{get;set;}

public string StateName{get;set;}

对于城市:

[Key]
public int CityID{get;set;}


[ForeignKey("State")]
public string StateID{get;set;}
public virtual State State{get;set;}

这段代码正在为状态表的 StateID 创建一个外键。我想要的只是工作,但由于我是 MVC 的新手,所以我得到以下代码也在做同样的事情。

[ForeignKey("StateID")]
public string Stateid{get;set;}
public virtual State StateID{get;set;}

这让我对正确的做法感到困惑......我们应该在 ForeignKey Annotation 中传递模型类名称,即 State 或者它应该是属性,即州 ID我经历了关于这个注释的各种问题。但我仍然不确定上述代码的区别。任何建议将不胜感激。

最佳答案

使用 ForeignKey 属性时,您传递外键应指向的导航属性的名称。

所以,在您的第一个示例中,您有:

[ForeignKey("State")]
public string StateID { get; set; }

public virtual State State { get; set; } // This is your navigation property

这是使用属性的正确方法。您传递给属性的 "State" 对应于导航属性名称。

在您的第二个示例中,您的导航属性被命名为 StateID,这就是 [ForeignKey("StateID")] 在该实例中也起作用的原因。

看看MSDN文档以获取更多信息。

关于asp.net-mvc-4 - MVC 中的外键注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21765817/

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