داشتن دو گروه مختلف کاربر در پروژه Core
دوستان سلام
در یک پروژه Core دو گروه مختلف کاربر داریم
1- کابران داخلی
2-کاربران مشتری
که کلا به Area های مختلفی دسترسی خواهند داشت.
در چنین وضعیتی :
1- بهتره (یا اصلا آیا ممکنه ) دو سری جدول identity داشته باشیم ؟
2- یا اینکه توسط property هایی که خودمون به جدول های identity اضافه می کنیم ، معلوم کنیم چه نوع کاربری هستند و باقی اطلاعاتشون رو هم به سایر جدول ها متصل کنیم.
مثلا isLocal و isCustomer داشته باشه و بر اساس اون OfficeId و CustomerId تنظیم بشه.
3 پاسخ
ممنون از راهنماییتون.
این دو دسته کاربر یکی officeId داره و یکی customerId
به نظرتون برای اینکه هر دو همزمان null نشن ، یه office و یک customer فیک درست کنم ؟ یا اینکه با یه rule میشه گفت فقط یکی null باشه و اون یکی مقدار داشته باشه.
سلام مجدد، شما یه CHECK CONSTRAINT تعریف کنید مشکل درج حل میشه:
ALTER TABLE [TableName] ADD CONSTRAINT Prevent_Null_Constraint CHECK([Col1] IS NOT NULL OR [Col2] IS NOT NULL);
سلام، وقت بخیر
با توجه به چیزی که گفتید بهتره یک ستون داشته باشید به نام UserType که یک مقدار عددی میگیره و می تونید به یک enum داخل کدتون Map کنید و به وسیله این ستون نوع کاربر رو مشخص کنید. با این روش اگر بعدها نیاز به دسته بندی جدیدی برای کاربرها باشه، نیازی به ساخت جدول جدید یا تغییر بانک ندارید.