在nhibernate水合物?

时间:2009-12-07 05:05:43

标签: nhibernate

什么是nhibrate的水合物?我无法理解这个词。 这在视频中用于保护子表行的上下文中。

请告知。

由于 AJ

1 个答案:

答案 0 :(得分:5)

您可能希望查看Build Your own DAL。它有一个关于水合作用的部分,你可能会感兴趣。

但是从一个非常简单的视图中获取水分意味着从原始持久存储模块获取并映射到对象/对象列表。

<强>更新

查看Understanding Lazy Loading StrategiesLazy Loading - Eager Loading。我认为这就是你所描述的视频中物体水化的情况。

示例

这是一个非常简单的水化示例(不是NHibernate示例)

假设我们运行了一个查询,例如:选择名称,从tblDogs繁殖,并且具有这些结果

K9, GermanShepard
IBeBlind, Labrador
SmallAnoyance, Shitsu
Trigger, GermanShepard

并说我们有以下对象:

public class Dog {
  public string name { get; set; }
  public string breed { get; set; }
}

现在我们可以编写自己的保湿器了:

public List<Dog> Hydrate(results rs) {
   List<Dog> dogs = new List<Dog>();
   foreach(Record rec in rs) {
     Dog d = new Dog();
     d.name = rec["name"];
     d.breed = rec["breed"];
     dogs.Add(d);
   }
  return dogs;
}