我正在使用城堡活動記錄的項目。我今天偶然發現了AR關聯中的「Insert = true」屬性參數,但我無法確定它實際做了什麼。什麼是插入=真正的意思是在城堡活動記錄協會
[BelongsTo("UserId",Insert = true)]
public ARUser User {
get { return mUser; }
set { mUser = value; }
}
有人能給我一個線索嗎?我無法在文檔中找到答案。
我正在使用城堡活動記錄的項目。我今天偶然發現了AR關聯中的「Insert = true」屬性參數,但我無法確定它實際做了什麼。什麼是插入=真正的意思是在城堡活動記錄協會
[BelongsTo("UserId",Insert = true)]
public ARUser User {
get { return mUser; }
set { mUser = value; }
}
有人能給我一個線索嗎?我無法在文檔中找到答案。
是的,你會發現插入和屬性上幾AR更新屬性..
我不得不做一些測試,以確保我理解的文檔。
有兩種更新和插入設置爲false表示該屬性將是隻讀訪問您的數據庫(與公共setter方法,這可能會比較混亂。)
[Property(Insert=false, Update=false)]
public virtual string Name { get; set; }
已經更新設置爲true,並插入到假表示設置此屬性,然後插入元素將不會在數據庫中設置該值。
[Property(Insert=false)]
public virtual DateTime Created { get; set; }
至於使用情況,你是你自己的。
從documentation - 設置爲false以在插入此ActiveRecord類的實體時忽略此關聯。
一種使用場景是如果您使用類型安全的枚舉模式。您創建一個具有由實際對象實例支持的靜態屬性的類。這使您可以像訪問枚舉一樣訪問靜態類屬性,但幕後實例作爲實體而不是值保存到數據庫中。這樣做的好處是您可以添加其他字段,如「排序」和「顯示名稱」,而不會丟失不可變的枚舉的外觀。 – 2010-01-09 07:28:52