‫‫‫رابطه یک به یک در NHibernate و Castle ActiveRecord

بین دو Entity می‌توان رابطه یک به یک برقرار کرد. یعنی به ازای یک instance (رکورد) از یکی، فقط و فقط یک instance (رکورد) در دیگری وجود داشته باشد. هر چند که NH این نوع رابطه را نشانه طراحی بد می‌داند، اما دو راه برای پیاده‌سازی آن مهیا کرده است:

۱- روش primary key associations: در این روش هر دو entity از یک primary key مشترک استفاده می‌کنند.

۲- روش unique foreign key associations: در این روش یکی از طرفین رابطه یک ستون اضافی تعریف کرده و آن را به کلید خارجی مرتبط با primary key طرف دیگر رابطه اختصاص می‌دهد.

هر دوی این روش‌ها به تفصیل در مستندات NH توضیح داده شده‌اند. Castle ActiveRecord هم هر دو این روش‌ها را پشتیبانی می‌کند. مستندات خود ActiveRecord فقط روش اول توضیح داده است اما برای پیاده‌سازی روش دوم هم کار چندان سختی نیست
{لینک به مطلب مرتبط در وبلاگ خودم}.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *