سلام
موضوع: تمام اطلاعاتی که کاربر در جداول بانک اطلاعاتی ثبت می کند باید متعلق به خودش باشد و می خواهم این کار با ارتباط کلید اصلی از جدول AspNetUsers با جدول مورد نظر باشه.
روشی که پیاده کردم: من در کلاس ApplicationUser یک ستون با نام UniqueId از نوع Int اضافه کردم که Identity اون Yes و Unique هستش (در بانک SQL) و هر کاربر جدیدی که به جدول AspNetUsers اضافه میشه یک مقدار عددی براش در نظر میگیره. این کار را برای سهولت ارتباط باسایر جداول انجام دادم تا از کد GUID که کلید اصلی هستش در سایر جداول استفاده نکنم.
حالا سوالم این هستش که با توجه به اینکه من یک DataLayer در یک پروژه جداگانه دارم که بصورت یک اسمبلی به برنامه وب خودم اون را اضافه کردم، چطور میتونم در طراحی به روش CodeFirst ارتباط یک به چند برقرار کنم (ِDataLayer در یک پروژه و کلاس های Identity در پروژه وب ایجاد شده)؟ البته زمانی که کاربر اطلاعاتی را ثبت می کند می تونم به مقدار ستون UniqueId بعد از Authenticate شدن کاربر دسترسی داشته باشم و میتونم به عنوان یک مقدار به بانک ارسال کنم (که بعدها با شماره UniqueId کاربر اطلاعات را واکشی کنم). ولی هیچ Relationی بین جداول برنامه با جدول AspNetUsers وجود نداره و تنها میتونم مقدار UniqueID را در سایر جداول ذخیره کنم.
سوال: آیا امکان ایجاد ارتباط وجود داره؟ اگر وجود نداره و یا خیلی پیچیدگی داره آیا روشی که اجرا کردم قابل اعتماد هست؟
ممنون میشم اگر دوستان راه حلی برای این موضوع دارند ارائه کنند. تشکر