دسته بندی ها
18:32 1399/01/18

ایجاد کلید خارجی بین جداول identity و جداول عادی

مشخصات سوال کننده :
کاربر : andyhug     امتیاز کاربر : 6     رتبه کاربر : 80
دسته بندی : Asp.net Web Form

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2592
1 نظر
fateme : ستون های جدول شما چیا هستن ؟

امتیاز کاربر : 1635   رتبه کاربر : 2   تاریخ ثبت : 10:27 1399/11/30
هوش مصنوعی

پاسخ هوش مصنوعی

برای ایجاد یک کلید خارجی بین جدول خودتان (در اینجا 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) است.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 20:24 1399/12/02

خب ایجاد کلید خارجی خیلی ساده هست. شما میتونید کلاس زیر رو که در واقع یک انتیتی هست رو داشته باشید.

 

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 هست ارتباط داره.

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود