我有一个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; }
}
答案 0 :(得分:0)
ApplicationUser必须从IdentityUser继承。当您使用Identity框架时,没有其他方法可以将项目的所有模型保留在一个类库项目中而不使用必需的引用。
我的建议是使用单独的项目(类库)来处理所有标识内容,而不是将其保留在Web API 2项目中。然后,您可以在需要时随时随地引用该项目。这将避免在Model项目上引用Web Api 2项目。
希望这有帮助。