[英]What is the purpose of [key] in a C# object?
我正在嘗試使用C#首次編寫WCF RIA類(這也是我第一次使用該語言),只是為了為LightSwitch數據源加入一些表。 按照示例代碼 ,我創建了以下類以返回數據行:
public class StudentTerm
{
[Key]
public string TermCode { get; set; }
public string StudentID { get; set; }
public decimal? TermGPA { get; set; }
public decimal? CumulativeGPA { get; set; }
}
但是我很好奇-[Key] typedef的目的是什么? 它僅適用於我的示例中的TermCode還是整個類?
Key
之上TermCode
被稱為property屬性。
屬性提供了一種將聲明性信息與C#代碼(類型,方法,屬性等)相關聯的強大方法。 一旦與程序實體相關聯,就可以在運行時查詢該屬性,並以多種方式使用它。
有關屬性的更多信息,請參見此處。
在這種特殊情況下,我們談論的是WCF RIA服務屬性。
在WCF RIA Services中,每個實體都必須定義一個主鍵,並且您可以使用[Key]屬性指定一個屬性作為主鍵。 如果類具有復合主鍵,則可以修飾多個屬性。
就像@LIUFA所說的那樣, Key
是一個屬性。 它的全名是System.ComponentModel.DataAnnotations.KeyAttribute
這表示Id字段是基礎數據存儲區的主鍵。
在更一般的意義上, Attribute
可以修飾類,方法,屬性或程序集。 它們自己不會做任何事情,但是被其他代碼用來“標記”事物。
您可能應該檢查msdn庫以獲得答案: http : //msdn.microsoft.com/zh-cn/library/system.componentmodel.dataannotations.keyattribute( v=vs.110) .aspx
是的,它僅適用於TermCode 。 類屬性位於類定義上方。 另外Key是field屬性的屬性,因此無法應用於類
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.