ORM和构造函数

Har*_*lby 4 .net orm

我正在研究.NET ORM实现,我有一个主要的问题 - 是否有任何.NET ORM实现不需要数据库中每个字段的公共属性?当我看到这样的例子这样,一个小铃在我的头上熄灭.我坚信封装,并被迫打开我的对象的和服,只是为了使它们与持久性框架很好地工作,给了我heebie-jeebies.所有ORM都需要这种可访问性吗?如果没有,指出那些不需要它的例子!

Ste*_*ock 6

NHibernate支持类成员的多种访问策略.公共属性是事实上的默认属性,但您可以告诉NHibernate直接访问您的类的字段.

例如

<property name="CustomerName" access="field.camelcase-underscore" />
Run Code Online (Sandbox Code Playgroud)

将指示NHibernate在您的类中使用如下所示的字段:

protected string _customerName;
Run Code Online (Sandbox Code Playgroud)