簡體   English   中英

使用usermanager編輯用戶個人資料圖像

[英]edit user profile image with usermanager

創建帳戶后,我將按照本教程添加個人資料圖片。

該修改包含以下代碼段,

Student student = db.Students.Include(s => s.Files).SingleOrDefault(s => s.ID == id);

在上面的示例中,在我的情況下,它適用於表調用Student ,我想使用AspNetUser table,但是然后我必須使用UserManger功能,一旦嘗試Include文件,它就會在編譯時彈出該錯誤。

但是在我的情況下,我試圖包含在AspNetUserUserManager

因此要填充上傳的圖片。 我需要在用戶管理器中include以下代碼

var user = await UserManager.Include(s => s.Files).FindByIdAsync(userid);

但隨后出現以下錯誤

'ApplicationUserManager'不包含'Include'的定義,也沒有擴展方法'Include'接受類型為'ApplicationUserManager'的第一個參數

如何忽略和包含文件

編輯:

這些是我在Model類中所做的更改

文件

public class File
{
    public int FileId { get; set; }
    ..

    public virtual ApplicationUser UserManager { get; set; }
}

文件路徑

public class FilePath
{
    public int FilePathId { get; set; }
    ..

    public virtual ApplicationUser UserManager { get; set; }
}

ApplicationUser

public class ApplicationUser : IdentityUser
{
        ....

        public virtual ICollection<File> Files { get; set; }
        public virtual ICollection<FilePath> FilePaths { get; set; }

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
       ....
    }
}

AspNetUser

public partial class AspNetUser
{

    public AspNetUser()
    {
       ..
    }
    ....

    public virtual ICollection<File> Files { get; set; }
    public virtual ICollection<FilePath> FilePaths { get; set; }
}

然后嘗試通過在PMC中鍵入以下內容來向項目添加遷移:

add-migration File

add-migration FilePaths

然后在控制台中出現以下錯誤

在程序集“ Project_Name”中找不到遷移配置類型。 (在Visual Studio中,您可以使用Package Manager控制台中的Enable-Migrations命令來添加遷移配置)。


然后我在PMC中輸入以下內容:

Enable-Migrations project_name.Models.sampleEntityFrameworkEntities

然后我在控制台中出現以下錯誤

不支持創建DbModelBuilder或從使用Database First或Model First創建的DbContext編寫EDMX。 只能從創建的Code First DbContext中獲得EDMX,而不使用現有的DbCompiledModel。


然后我嘗試使用以下代碼遷移FilesFilesPath

add-migration File

add-migration FilePaths

在控制台中出現錯誤

不支持創建DbModelBuilder或從使用Database First或Model First創建的DbContext編寫EDMX。 只能從創建的Code First DbContext中獲得EDMX,而不使用現有的DbCompiledModel。

如果我正確理解了您,則嘗試使用該指南,但使用ASP.NET Identity。 ASP.NET Identity是具有其自己的類和DBContext的唯一系統。 為了向用戶添加新字段,您需要修改ApplicationUser類。 只需將您的媒體資源添加到此類,然后根據需要應用遷移即可。 這將向AspNetUser添加一個新列。 然后將您的字段添加到ViewModel(如果有)和使用該字段所需的其他邏輯中。

暫無
暫無

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

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