Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NET中的db4o:属性还是字段?_.net_Properties_Field_Db4o - Fatal编程技术网

.net NET中的db4o:属性还是字段?

.net NET中的db4o:属性还是字段?,.net,properties,field,db4o,.net,Properties,Field,Db4o,我从.NET4.0中的db4o开始。我应该为持久对象使用字段或属性吗 我知道,要对唯一ID使用[index]属性,我需要使用一个字段。如何在不复制数据库中的数据的情况下实现相应的ID属性?像处理任何其他对象一样,使用常规属性。保持字段的私有性,并通过属性和方法访问它们。这使得它更加灵活,例如重命名属性 db4o始终存储字段值并忽略属性。这就是为什么必须在字段上添加index属性。此外,配置内容总是指字段。添加属性时,db4o只存储底层字段 如果您想使用自动属性,您可能需要考虑的唯一问题。C#自动

我从.NET4.0中的db4o开始。我应该为持久对象使用字段或属性吗


我知道,要对唯一ID使用
[index]
属性,我需要使用一个字段。如何在不复制数据库中的数据的情况下实现相应的ID属性?

像处理任何其他对象一样,使用常规属性。保持字段的私有性,并通过属性和方法访问它们。这使得它更加灵活,例如重命名属性

db4o始终存储字段值并忽略属性。这就是为什么必须在字段上添加index属性。此外,配置内容总是指字段。添加属性时,db4o只存储底层字段

如果您想使用自动属性,您可能需要考虑的唯一问题。C#自动属性由编译器生成的字段支持。此字段名将非常难看。因此,您可能希望将常规属性与常规字段一起使用


注意:对于Silverlight,您需要使用公共字段,因为db4o无法通过反射访问私有字段。

使用常规属性,就像处理任何其他对象一样。保持字段的私有性,并通过属性和方法访问它们。这使得它更加灵活,例如重命名属性

db4o始终存储字段值并忽略属性。这就是为什么必须在字段上添加index属性。此外,配置内容总是指字段。添加属性时,db4o只存储底层字段

如果您想使用自动属性,您可能需要考虑的唯一问题。C#自动属性由编译器生成的字段支持。此字段名将非常难看。因此,您可能希望将常规属性与常规字段一起使用


注意:对于Silverlight,您需要使用公共字段,因为db4o不能通过反射访问私有字段。

+1通过反射访问私有字段。我错误地认为db4o不能访问私有字段。为了方便起见,我主要使用自动属性,但我注意到编译器生成的字段很难看。+1通过反射访问私有字段。我错误地认为db4o不能访问私有字段。为了方便起见,我通常使用自动属性,但我注意到编译器生成的字段很难看。