2011-03-11 34 views
0

我開始在.NET 4.0中使用db4o。我應該使用持久對象的字段或屬性嗎?.NET中的db4o:屬性或字段?

據我所知,要將[Indexed]屬性用於唯一ID,我需要使用一個字段。如何在不重複數據庫中的數據的情況下實現相應的ID屬性?

回答

4

使用常規屬性,就像您對任何其他對象所做的一樣。保持您的字段私密,並通過屬性和方法訪問它們。這使得它更加靈活,例如重命名屬性。

db4o始終存儲字段值並忽略屬性。這就是爲什麼你必須在字段上添加索引屬性。此外配置的東西總是指這個領域。當你添加一個屬性時,db4o只會存儲基礎字段。

如果您想使用自動屬性,您可能只想考慮一下。 C#自動屬性由編譯器生成的字段支持。這個字段名稱會非常難看。因此,您可能希望使用常規字段的常規屬性。

注意:對於Silverlight,您需要使用公共字段,因爲db4o無法通過反射訪問私有字段。

+0

+1通過反射訪問私人字段。我錯誤地認爲db4o無法訪問私有字段。爲了方便,我大多使用自動屬性,但我注意到編譯器生成的醜陋字段。 – 2011-03-12 07:13:34