域模型应该模拟应用程序的问题域,但完全不知道其实现的某些方面;数据访问,例如。如何在域模型中使用AspNet.Identity
在这方面,感觉有点脏添加Microsoft.AspNet.Identity.EntityFramework
域模式,因为该领域模型应该不知道(和不关心),我要使用实体框架来实现它...
......这里存在我的问题
在我的域模型我有几类,其链接到用户帐户
例
class Profile
{
public User Owner { get; set; }
}
class BlogPost
{
public User Owner { get; set; }
}
问题是User
延伸IdentityUser
,因此参考EntityFramework。
我能想到的唯一解决办法是用Guid
更换引用User
,只需连接所有者ID
例
class Profile
{
public Guid OwnerId { get; set; }
}
同样,这种感觉很脏,对OOP不非常坚固
鉴于我希望尽可能优雅的解决方案,我该如何解决这个问题?