Fluent NHibernate:初始化 OneToMany 集合

发布于 2024-12-03 09:40:00 字数 257 浏览 2 评论 0原文

我在两个对象(Person 和 Order)之间有标准的一对多关系。这在我的对象模型中表示为 Person 上的订单集合。这在数据库中表现为订单表上的“PersonID”外键。

当某个人没有订单时,该人的 Orders 集合属性将返回 null。我期望它已使用空集合进行初始化,以避免到处都需要空检查代码。

当数据库中还没有该集合的任何项目时,有什么方法可以配置 nHibernate (流畅地)返回一个空集合,而不是 null ?

感谢您的任何帮助。

I have a standard one-to-many relationship between two objects, Person and Order. This is represented in my object model as a collection of orders on the Person. This manifests itself in the database as a "PersonID" foreign key on the Order Table.

When a person has no orders, the Orders collection property on the Person is being returned as null. I was expecting it to have been initialized with an empty collection, to avoid the need for null checking code all over the place.

Is there any way to configure nHibernate (fluently) to return an empty collection, instead of null when there are not yet any items in the database for that collection?

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泡沫很甜 2024-12-10 09:40:00

您应该在 Person 类的构造函数中新建 Order 集合。

public class Person 
{
     public Person()
     {
         Orders = new List<Order>();
     }

     ...

     public virtual IList<Order> Orders { get; set; }
     ...
}

如果一个人现在没有订单,它将返回一个空集合。

You should new up your Order collection in the constructor of the Person class.

public class Person 
{
     public Person()
     {
         Orders = new List<Order>();
     }

     ...

     public virtual IList<Order> Orders { get; set; }
     ...
}

If a Person has no orders now, it will return an empty collection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文