我应该如何在实体框架中创建这种关系?
Posted
技术标签:
【中文标题】我应该如何在实体框架中创建这种关系?【英文标题】:How should I create this relationship in Entity Framework? 【发布时间】:2019-08-11 20:37:25 【问题描述】:在我之前的问题中,我提到我正在开发一个销售点应用程序。我使用的平台是 WPF、MVVM 和实体框架(代码优先)。由于实体框架代码优先有自己的逻辑来映射实体和关系,我对一个案例感到困惑。
我有一个EntityBase
类:
public class EntityBase
public DateTime? CreatedAt get; set;
public User CreatedBy get; set;
public DateTime? UpdatedAt get; set;
public User UpdatedBy get; set;
public class User : EntityBase
public int UserId get; set;
public string Username get; set;
public string Password get; set;
既然User
类有EntityBase
类成员,会不会在数据库端出现问题?
或者我应该像这样保留数据:
public class EntityBase
public DateTime? CreatedAt get; set;
public int CreatedByUserId get; set;
public DateTime? UpdatedAt get; set;
public int UpdatedByUserId get; set;
【问题讨论】:
【参考方案1】:以这种方式创建您的模型:
public class EntityBase
public DateTime? CreatedAt get; set;
public int CreatedById get; set;
[ForeignKey("CreatedById")]
public User CreatedBy get; set;
public DateTime? UpdatedAt get; set;
public int UpdatedById get; set;
[ForeignKey("UpdatedById")]
public User UpdatedBy get; set;
public class User
public int UserId get; set;
public string Username get; set;
public string Password get; set;
【讨论】:
以上是关于我应该如何在实体框架中创建这种关系?的主要内容,如果未能解决你的问题,请参考以下文章