2014-07-24 45 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