2014-06-18 41 views
1

我想在C#中第一次編碼一個WCF RIA類(也是我第一次使用該語言),只是爲了加入一些LightSwitch數據源表。繼example code,我創建了下面的類以返回數據的我行:C#對象中[key]的用途是什麼?

public class StudentTerm 
{ 
    [Key] 
    public string TermCode { get; set; } 
    public string StudentID { get; set; } 
    public decimal? TermGPA { get; set; } 
    public decimal? CumulativeGPA { get; set; } 
} 

但我很好奇 - 究竟是[關鍵]的typedef的目的是什麼?它是否僅適用於TermCode在我的示例中,還是適用於整個班級?上的TermCode頂部

+0

這是您的主鍵 - http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations .keyattribute(v = vs.110).aspx – Darren

+0

因爲你的數據庫中可能有一個表'StudentTerm','TermCode'是表中的主鍵。 – Habib

+0

它被稱爲一個屬性,它只適用於你的例子中的'TermCode'。我不熟悉圖書館知道它代表什麼。 –

回答

1

Key稱爲property attribute.
屬性提供聲明信息與C#代碼關聯的一個強有力的方法(類型,方法,屬性等)。一旦與程序實體關聯,就可以在運行時查詢屬性並以任何方式使用。
More on attributes you can find here.

在這個特殊情況下,我們正在討論WCF RIA服務屬性。
在WCF RIA Services中,每個實體都必須定義一個主鍵,並用[Key]屬性指定一個屬性作爲主鍵。如果類具有複合主鍵,則可以修飾多個屬性。

1

正如@LIUFA上面所說的,Key是屬性。它的全稱是System.ComponentModel.DataAnnotations.KeyAttribute這表示Id字段是底層數據存儲的主鍵。

從更一般意義上講,Attribute可以修飾類,方法,屬性或程序集。他們自己不做任何事情,但被其他代碼用來「標記」事物。

相關問題