2014-01-15 70 views
0

我使用最新版本的ASP.NET實體框架代碼。使用數據註釋指定外鍵

如果我有兩個類,如下所示:

public class Student 
{ 
    public int ID { get; set; } 
} 

public class Classroom 
{ 
    public int ID { get; set; } 
    public Student Student { get; set; } 
} 

有我使用數據註釋,從而產生課堂表時的一種方式,它知道我想要一個ForeignKey在課堂存在所謂的學生卡?我知道如何用FluentAPI來做到這一點,但是如果我可以用Data Annotations完成它,它會讓我的應用程序變得更加簡單。我也想避免在實際的對象模型中有一個獨立的StudentID屬性,因爲它似乎是重複的。

+0

William,Repetitive是在建立關係時進入實體框架的方式。每個EF大師Julie Lerman最好都有一個ID和一個對象。也許別人可以評論「爲什麼」。 –

+0

我已經閱讀過某些地方,英孚做了一些事情,以保持這兩個我同步 - 你知道這個細節嗎?它是在setter中完成的,還是僅在對數據庫進行更改時才提交? – William

回答

1
public class Student 
{ 
public int ID { get; set; } 
} 

public class Classroom 
{ 
public int ID { get; set; } 
public Student Student { get; set; } 

[ForeignKey("Student")] 
public int StudentId {get; set;} 



} 
+0

但這使用顯式int StudentId屬性 - 這似乎是沒有必要的 - 有沒有辦法使用它或有一個原因,我應該使用它? – William

+0

看到我上面的評論。 EF代碼首先必須用更多的信息來猜測。想想看...這是一個Id屬性,你正在處理數據庫關係......這是根本,沒有必要的絨毛。 :) 恕我直言 –