我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id
查看原文
该头条内容由程序员导航网提供:我开发的开源项目,让.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类的...
暂无评论...