繁体   English   中英

从外键和DateTime创建复合键

[英]Create composite key from foreign key and DateTime

我刚刚开始使用EF。 用户具有0或多个权重,但同一日期最多只能有一个。 我该如何完成? 我想我应该创建一个组合键,但是我找不到在Date属性之前添加的任何适当属性。 这是我的两个模型:

public class User
{
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Weight> Weights { get; set; }
}

public class Weight
{
    [ForeignKey("User")]
    [Column(Order=1)]
    public int UserID { get; set; }

    public DateTime Date { get; set; }
    public float Value { get; set; }
}

据我了解,您正在尝试存储一段时间内的重量波动,并且在相同的确切日期和时间拥有两个不同的重量是没有意义的。 考虑到这一点,您可以将[key]属性添加到Weight类的UserID和Date属性中。

通过这种设计,当您从数据库中查询重量时,可以按Date属性的日期和时间值对其进行排序,最后一项将是最新的重量度量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM