在使用identity v2和Entity Framework的Asp.net项目中,如何将我的所有代码第一个模型和用户模型标识移动到一个新项目

时间:2014-09-27 22:10:18

标签: asp.net entity-framework ef-code-first asp.net-mvc-5 asp.net-identity

我有一个Web API 2项目,我使用Entity Framework代码优先模型,它有一些外键来识别绑定到webapi 2项目的版本2用户表。由于我有另一个提供者项目,我在我的服务(web api 2)项目中引用了提供者,因为提供者需要引用模型将模型放入服务项目中导致循环引用。

长话短说明我需要能够将代码的第一个模型移动到一个名为Models的新项目中,以便在两个项目中使用。问题在于,无论我怎么努力,我都无法将IdentityUser模型移动到单独的项目,因为它需要引用Microsoft.AspNet.Identity.EntityFramework

下面是我使用的其中一个模型的示例,ApplicationUser来自IdentityUser

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; }
}

1 个答案:

答案 0 :(得分:0)

几个月前,我有同样的问题。

ApplicationUser必须从IdentityUser继承。当您使用Identity框架时,没有其他方法可以将项目的所有模型保留在一个类库项目中而不使用必需的引用。

我的建议是使用单独的项目(类库)来处理所有标识内容,而不是将其保留在Web API 2项目中。然后,您可以在需要时随时随地引用该项目。这将避免在Model项目上引用Web Api 2项目。

希望这有帮助。