我正在尝试映射类用户和配置文件,如下所示:
public class User
{
public long ID { get; set; }
public string LoginName { get; set; }
public Profile Profile { get; set; }
}
public class Profile
{
//the ID is the same with User's ID
public long ID { get; protected set; }
public string NickName { get; set; }
public Gender Gender { get; set; }
}
因此,它们可以映射为一对一和组件关系。我发现有些人评估组件并认为一对一是一种不好的做法,为什么?出于性能原因?但在很多场景(例如asp.net2.0 Membership)中,它们被设计为两个单独的表。
我应该如何选择?我应该考虑哪些方面?我知道组件意味着“价值对象”而不是实体,但这是否意味着更多的东西?
ps:更让我困惑的是,在现实世界中即使是一对一的关系也应该使用多对一的观点!