NHibernate:映射到字段或属性?

mat*_*ieu 12 .net nhibernate

创建映射文件时,是否将属性映射到字段或属性:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Foo" namespace="Foo.Bar" >
  <class name="Foo" table="FOOS" batch-size="100">
    [...]
    <property name="FooProperty1" access="field.camelcase" column="FOO_1" type="string" length="50" />
    <property name="FooProperty2" column="FOO_2" type="string" length="50" />
    [...]
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

当然,请解释原因:)

通常,我映射到属性,但映射到字段可以在属性的getter/setter中放置一些"逻辑".

映射到字段是否"糟糕"?有最好的做法吗?

Gil*_*gan 5

我映射到属性.如果我觉得有必要,我将SETTER映射到一个字段.(通常通过"access = field.camelcase"之类的东西).

这让我看起来很漂亮,例如"来自FirstName ='John'的人",而不是像"来自FirstName/_firstName的人"这样的东西,并且在保湿我的实体时也避免使用setter逻辑.