2014-07-24 43 views
1

我正在制作一个MVC应用程序,需要将每周的阅读内容组织成几周,然后将这些阅读内容组织成几年。我有一个星期实体和一个实体,分别是几周和几天的表格。有没有什么办法可以将日期连接到WeekNo,但没有WeekNoDayNo作为主键?组织周和日

例如,会在1每周工作5天:

WeekNo = 1, DayNo = 1 
WeekNo = 1, DayNo = 2 
WeekNo = 1, DayNo = 3 
WeekNo = 1, DayNo = 4 
WeekNo = 1, DayNo = 5 

然后,当第2周走来:

WeekNo = 1, DayNo = 1 

但后来有1

日的副本

我有一个类似的问题,一年中的几个星期,当下一年来临,它回到第一周,有几周重复。但是,如果我能够克服这一点,也许我也能弄清楚这一点。

我该如何去引用这些对方?

Day型号:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace Utility.Models 
{ 
    public class Day 
    { 
     public int DayID { get; set; } 
     public int WeekNo { get; set; } 
     public int DayNo { get; set; } 
     public string DayofWeek { get; set; } 
     public float Reading1 { get; set; } 
     public float Reading2 { get; set; } 
     //etc 

     public virtual Week Week { get; set; } 

    } 
} 

Week型号:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations.Schema; 

namespace Utility.Models 
{ 
    public class Week 
    { 
     public int WeekID { get; set; } 
     public int WeekNo { get; set; } 
     public int YearID { get; set; } 

     public virtual Year Year { get; set; } 
     public virtual ICollection<Day> Days { get; set; } 

    } 
} 
+0

我不明白'WeekNo'财产的任何地方.. –

+0

噢,对不起,我已经使用了很多不同的代码与此乱搞的。我编辑了代码,现在应该是相关的代码。 – Calturk

+0

多对多呢?创建另一个实体称为WeekDay,Day有很多WeekDays,Week有很多WeekDays。 –

回答

1

如何多对多的关系?

public class Day 
{ 
    public int DayID { get; set; } 
    public int DayNo { get; set; } 
    public virtual ICollection<WeekDay> WeekDays { get; set; } 
} 
public class Week 
{ 
    public int WeekID { get; set; } 
    public int WeekNo { get; set; } 
    public virtual ICollection<WeekDay> WeekDays { get; set; } 
} 
public class WeekDay 
{ 
    public int WeekDayID { get; set; } 
    public int DayID { get; set; } 
    public virtual Day Day { get; set; } 
    public int WeekID { get; set; } 
    public virtual Week Week { get; set; } 
} 
+0

好吧,很酷。并且会避免重复的问题,是吗? – Calturk

+0

是的,绝对。 –

+0

很酷,谢谢:)所以当我制作控制器时,点击“新建脚手架项目”,周日会成为我参考的模型吗? – Calturk