繁体   English   中英

使用C#Guid作为唯一的非主键字段

[英]Using C# Guid as a unique non-primary key field

我正在使用代码优先迁移创建发票表,该表需要具有唯一的发票号。 我不想将此字段设为我的主键。 我首选的解决方法是使用Guid作为发票编号,这样每次插入发票项目时都会创建唯一值。 我可以生成随机字符串,但是我不想编写逻辑来创建随机字符串。

请注意,我不想为此安装任何外部库。 我正在使用Fluent API而不是数据注释进行映射。 请考虑到您的答案。

我是否可以仅使用Guid列来实现?

提前致谢。

在SQL Server中定义表时,将列定义为uniqueidentifier NOT NULL DEFAULT newid()

在您的Invoice类实体中,如下创建一列;

public Guid InvoiceNumber {get;set;}

与的构造函数

public Invoice(){
      InvoiceNumber = Guid.NewGuid();
}

更新发票后,您应该预先填写了Guid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM