我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

博客园头条 3年前 (2022) cnblogshot
1.1K 0

查看原文

该头条内容由程序员导航网提供:我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

内容简介:

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下:

void RemoveById(long id);

我们从方法的参数看不出来id代表什么含义,因此如果我们错误地把货物的id传递给这个方法,那么也是可以的。这样用long等通用类型来表示标识属性会让参数等的业务属性弱化。
而如果我们自定义一个UserId类型,如下:

class UserId

{

public long Value{get;init;}

public UserId(long value)

{

this.Value=value;

}

}

这样User类的...

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...