簡體   English   中英

將外鍵分配給我的主鍵

[英]Assigning foreign key to my primary key

我只是一個學習asp.net的人,我目前正在學習mvc5,因為我在系統中安裝了vs2013。

我有這樣的問題:

我想編寫一個簡單的應用程序,以加快我在asp.net編程中的學習。 作為一個新的asp.net和C#程序員,我目前正在編碼的問題對我來說是如此,因為我無法向該應用程序添加配置文件。

我打開了一個新的asp.net mvc應用程序,並自動為我創建了一些文件夾。 現在,您將與我同意,只需要用戶名,電子郵件和密碼即可注冊新應用。 我想將配置文件頁面添加到Microsoft默認創建的同一數據庫中,但是我不知道如何添加它。 我在模型文件夾中創建了一個配置文件類文件,但我什至不知道如何設置外鍵,以防我想使用其他類中的某些特定實體...

我的代碼如下所示...請如何將其添加到默認數據庫中,並將密鑰分配為外鍵?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebCHECKING.Models
{
    public class Profile
    {
        public int ProfileID { get; set; }

        public string Firstname { get; set; }

        public string Secondname { get; set; }
        public string Email { get; set; }

        public string Phone { get; set; }

        public string Picture { get; set; }

        public string Facebook { get; set; }

        public string Description { get; set; }

        public DateTime Datejoined { get; set; }
    }
}

與創建一個新類來存儲配置文件信息相反,您可以使用這些新字段來擴展現有的AplicationUser類。 查看這篇文章 該文章實際上是在您的項目中引用的(打開IdentityModels.cs)。 如果您采用這種方法,則可能需要使其他字段成為可選字段,以便用戶在注冊時不必填寫所有內容。

如果您打算將單獨的類用於配置文件數據,請using Microsoft.AspNet.Identity;添加using Microsoft.AspNet.Identity; 到您的模型並參考ApplicationUser,例如: public virtual ApplicationUser UserPerson {get; set; } public virtual ApplicationUser UserPerson {get; set; } public virtual ApplicationUser UserPerson {get; set; } 請查看此SO 問題,以獲取有關在控制器中設置字段值的詳細信息。

-編輯-

抱歉,沒有看到關於數據庫的第一個問題。 如果使用的是Entity Framework,則可以使用Entity Framework選項為該模型添加一個控制器,並選擇帶有視圖的MVC 5 Controller。 這樣,EF將為您添加數據庫上下文,並構建一堆視圖和控制器操作。 如果您不希望腳手架那樣的東西,可以打開IdentityModels.cs並在public static ApplicationDbContext Create()方法下添加一個DbSet語句,例如public System.Data.Entity.DbSet<WebCHECKING.Models.Profile> Profiles {get; set; } public System.Data.Entity.DbSet<WebCHECKING.Models.Profile> Profiles {get; set; } public System.Data.Entity.DbSet<WebCHECKING.Models.Profile> Profiles {get; set; } 您還必須運行數據庫遷移才能創建表。

-再編輯一次-

如果您需要引用其他類(ApplicationUser除外),則只需將數據類型替換為該類的名稱,例如: public profileStuff stuff {get; set; } public profileStuff stuff {get; set; } public profileStuff stuff {get; set; } EF會在該類的數據庫表中添加一列,為您所引用的類指定一個ID。在這種情況下, 這一系列的“入門”視頻可能會很有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM