簡體   English   中英

在使用身份v2和實體框架的Asp.net項目中,如何將所有代碼優先模型和用戶模型身份移至新項目

[英]In an Asp.net project using identity v2 and Entity Framework how can I move all my code first models and User model identity to a new project

我有一個Web API 2項目,我使用Entity Framework代碼優先模型,該模型具有一些外鍵,用於標識綁定到webapi 2項目的版本2用戶表。 由於我有另一個提供者項目,因此我在服務(Web api 2)項目中引用了提供者,並且由於提供者需要引用將模型放入服務項目中的模型,因此會引起循環引用。

長話短說,我需要能夠將代碼優先模型移到一個名為Models的新項目中,以在兩個項目中使用。 問題是,無論我多么努力,我都無法將IdentityUser模型移至單獨的項目,因為它需要引用Microsoft.AspNet.Identity.EntityFramework

以下是我使用的一種模型的示例,我從IdentityUser派生了ApplicationUser

public class Application
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Owner { get; set; }
    public string Company { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string PaymentInfo { get; set; }
    public DateTime CreateDate { get; set; }
    public DateTime ExpireDate { get; set; }

    public virtual ApplicationUser User { get; set; }
    public virtual ICollection<Billing> Billings { get; set; }
}

幾個月前我遇到了同樣的問題。

ApplicationUser必須從IdentityUser繼承。 使用Identity框架時,沒有其他方法可以將項目的所有模型保留在一個類庫項目中,而無需使用必需的引用。

我的建議是使用單獨的項目(類庫)來處理所有身份信息,而不是將其保留在Web API 2項目中。 然后,您可以在需要時在任何地方引用該項目。 這樣可以避免在Models項目上引用Web Api 2項目。

希望這可以幫助。

暫無
暫無

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

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