我试图弄清楚如何使用 EF code First 4.1 RC 拥有复合密钥。
目前,我正在使用 [Key] 数据注释,但我无法指定多个键。
如何指定复合键?
这是我的例子:
public class ActivityType
{
[Key]
public int ActivityID { get; set; }
[Required(ErrorMessage = "A ActivityName is required")]
[StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")]
public string ActivityName { get; set; }
}
我也需要“ActivityName”作为密钥。
当然,我可以围绕这个编写代码,但这不是好的数据库设计。
您可以标记两者ActivityID
and ActivityName
属性与Key
注解或者您可以使用 @taylonr 所描述的 Fluent API。
Edit:
这应该有效 - 使用注释定义的复合键需要显式的列顺序:
public class ActivityType
{
[Key, Column(Order = 0)]
public int ActivityID { get; set; }
[Key, Column(Order = 1)]
[Required(ErrorMessage = "A ActivityName is required")]
[StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")]
public string ActivityName { get; set; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)