gpt4 book ai didi

c# - Entity Framework 6 : Multicolumn unique index featuring navigation property

转载 作者:太空狗 更新时间:2023-10-29 21:22:12 31 4
gpt4 key购买 nike

如何在模型上设置多列索引:

public class Meta
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid Id { get; set; }

[Index("MetaPeriodDateUnq", IsUnique = true, Order = 2)]
[Required]
public DateTime Date { get; set; }

[Index("MetaPeriodDateUnq", IsUnique = true, Order = 1)]
[Required]
public virtual PeriodType Period { get; set; }

/*
...
*/
}

public class PeriodType
{
[Key]
public Guid Id { get; set; }

/*
...
*/
}

数据库初始化后,只有“MetaPeriodDateUnq”索引提及 Meta.Date 列,但我依赖于 Meta.Date + Meta.Period.Id 的唯一性。

最佳答案

您必须显式地包含外键,导航属性上的注释通常不起作用。

[Index("MetaPeriodDateUnq", IsUnique = true, Order = 2)]
public DateTime Date { get; set; }

[Index("MetaPeriodDateUnq", IsUnique = true, Order = 1)]
public Guid PeriodId { get; set; }

public virtual PeriodType Period { get; set; }

这应该有效(未测试)。

关于c# - Entity Framework 6 : Multicolumn unique index featuring navigation property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998344/

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