Tôi nghĩ đây là một câu hỏi dễ, nhưng googling của tôi yếu về điều này.NHibernate: Ý nghĩa của các kẻ chặn trả về giá trị
tôi đã có vấn đề mô tả trong các liên kết dưới đây đối với một ID được tạo ra và tầng:
https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html (hướng về phía dưới)
tôi cố định nó sử dụng phương pháp đề nghị của họ về một Interceptor. Mọi thứ dường như đang hoạt động, vì vậy tôi hạnh phúc.
Điều đó nói rằng, tôi không có ý tưởng những gì ý nghĩa của giá trị trả về là từ các phương pháp như:
public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnLoad();
return false;
}
public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnSave();
return false;
}
Trong cả hai trường hợp sai được trả về.
Khi tôi google về NHibernate Interceptors, tôi thấy rất nhiều ví dụ về cách viết một. Một số thay vào đó trở lại đúng (http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx). Tôi không biết sự khác biệt ở đây là gì. Mã của tôi đang hoạt động, nhưng Interceptor có vẻ hữu ích đối với tôi nên tôi muốn hiểu rõ hơn.
btw, thiết bị chặn được ngừng và thay thế bằng hệ thống sự kiện. Thật không may, hệ thống sự kiện thậm chí còn ít tài liệu. Nhưng bạn vẫn nên tìm một số tài liệu hữu ích. –