加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用ASP.NET Boilerplate将ValueObject存储在数据库中

发布时间:2020-12-15 22:43:24 所属栏目:百科 来源:网络整理
导读:尝试使用ASP.NET Boilerplate和Entity Framework实现DDD 员工对象 public class Employee : Entitylong{ public virtual string Name { get; protected set; } public virtual Nationality Nationality { get; protected set; }} 定义属性国籍,即价值对象 pu
尝试使用ASP.NET Boilerplate和Entity Framework实现DDD

员工对象

public class Employee : Entity<long>
{
   public virtual string Name { get; protected set; }

   public virtual Nationality Nationality { get; protected set; }
}

定义属性国籍,即价值对象

public class Nationality : ValueObject<Nationality>
{      
    public virtual string Name { get; protected set; }
}

尝试添加数据库迁移会产生明显的错误

EntityType 'Nationality' has no key defined. Define the key for this EntityType.

看看3 different approach to persist value object in database

我应该手动实现上述方法之一来持久化ValueObject(如果是这样,那么最佳实践是什么)?或者它已经由ASP.NET Boilerplate Framework完成了?

解决方法

当您使用Value对象时,不应在Employee对象的NATIONAL属性上使用virtual.删除虚拟关键字.应该修复它.仅在引用实体类型时使用Virtual.你也可以删除Ethnic.Name属性上的虚拟.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读