ایجاد کلید خارجی بین جداول identity و جداول عادی
سلام
من میخواستم بین یکی از جداول خودم و یکی از جداول Identity کلید خارجی برقرار کنم.
به ID جدول AspNetUsers احتیاج دارم!
بطور مثال در جدول خودم به نام Mytable یک فیلد به اسم UserID میخوام داشته باشم که به فیلد Id جدول AspNetUsers مربوط شود.
ممنون از کمک شما.
پاسخ هوش مصنوعی
برای ایجاد یک کلید خارجی بین جدول خودتان (در اینجا Mytable) و جدول AspNetUsers، شما باید یک فیلد UserID در جدول Mytable تعریف کنید که به فیلد Id در جدول AspNetUsers لینک شود. به طور معمول، این کار در SQL Server با استفاده از دستور ALTER TABLE یا هنگام ایجاد جدول انجام می شود.
در اینجا یک مثال برای ایجاد جدول Mytable با کلید خارجی به جدول AspNetUsers آورده شده است:
CREATE TABLE Mytable (
Id INT PRIMARY KEY IDENTITY(1,1),
UserID NVARCHAR(450) NOT NULL,
OtherField NVARCHAR(100),
FOREIGN KEY (UserID) REFERENCES AspNetUsers(Id)
);
در این مثال، فیلد UserID به عنوان یک کلید خارجی تعریف شده است که به فیلد Id در جدول AspNetUsers مرتبط می شود. توجه داشته باشید که نوع داده UserID باید با نوع داده Id در AspNetUsers مطابقت داشته باشد. معمولاً نوع داده Id در AspNetUsers از نوع NVARCHAR(450) است.
خب ایجاد کلید خارجی خیلی ساده هست. شما میتونید کلاس زیر رو که در واقع یک انتیتی هست رو داشته باشید.
public class MyTable
{
[Key]
public int Id {get; set;}
public string customerName {get; set;}
public string Address {get; set;}
public string UserID {get; set;}
[ForeignKey("UserID")]
public virtual ApplicationUsers User {get; set;}
}
در کدهای بالا یک جدول به نام MyTable داریم که ستونهای ID به عنوان کلید اصلی، CustomerName و Address رو داره. همچنین فیلد UserID هم به عنوان کلید خارجی در نظر گرفته شده که با جدول ApplicationUsers که همون جدول دیتابیسی AspNetUsers هست ارتباط داره.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- احراز هویت از طریق اکتیو دایرکتوری
- معنی و مفهوم و کاربرد Thread pool در وب
- نحوه حذف پس زمینه سیاه صفحه مدال در بوت استرپ
- منظور از فرانت اند و بک اند چیست ؟
- نمایش منو با راست کلیک کردن روی Ckeditor
- علت کند شدن سایت در Asp.net core
- انتقال کاربر به مسیر خاص بعد از لاگین در Asp.net core
- کار با رویداد SelectedDateChanged در کامپوننت تاریخ شمسی در سی شارپ
- نمایش گزارش StimulSoft در Asp.net Web form
- انتخاب MVC یا Core برای طراحی سایتی که با Asp.net پیاده سازی شده است