我正在使用ASP.NET核心创建代码优先的WebAPI。 我想定义一个UUID/GUID Pk类型为BINARY(16)的表,这个表最好是自动生成的,类似于auto_increment,在auto_increment中插入列的其余部分,Db自动填充Pk/id。
我曾尝试在Db生成之后为字段创建一个触发器,以用UUID填充Pk,但它不允许我使用UUID()。
无论如何,下面是我要填充的表的示例:dbcontext.cs
ModelBuilder.Entity<Customers>(entity =>
{
entity.HasKey(e => e.CustomerId)
.HasName("PRIMARY");
entity.ToTable("customers");
entity.HasIndex(e => e.CustomerId)
.HasName("customer_id_UNIQUE")
.IsUnique();
entity.Property(e => e.CustomerId)
.HasColumnName("customer_id")
.HasColumnType("BINARY(16)");
}
使用pomelo.EntityFrameworkCore.MySQL(如果有什么不同的话)。
我知道。NET中有一个GUID()函数,但我不知道如何让MySql自动生成它。 我试着想出了许多解决方案,但没有结果,我试着使用存储过程,ValueGenerator等。
请提供任何建议,代码或指针,你可能知道,因为这是非常令人沮丧的我,因为我会说我是一个初学者。
非常感谢!
ModelBuilder.Entity<Customers>(entity =>
{
entity.HasKey(e => e.CustomerId)
.HasName("PRIMARY")
.HasComputedColumnSql("SELECT UUID()");
entity.ToTable("customers");
entity.HasIndex(e => e.CustomerId)
.HasName("customer_id_UNIQUE")
.IsUnique();
entity.Property(e => e.CustomerId)
.HasColumnName("customer_id")
.HasColumnType("BINARY(16)");
}
向列添加DataAnnotations
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid CustomerId { get; set; }
在迁移过程中,应更改CreateTable以将defaultValueSQL属性添加到列中:
CustomerId = c.Guid(nullable: false, identity: true, defaultValueSql: "NEWID()")
或fluent API:
entity.Property(x => x.CustomerId).HasDefaultValueSql("NEWID()");
我希望这能帮到你。
问题内容: 请给我示例代码生成的,而无需使用时间戳Java类型。 谢谢 问题答案: 实际的UUID是128位。长为64位。 这不只是脚手架。UUID代表 通用 唯一IDentifier。 已建立的UUID方案的“通用唯一性” 基于: 编码MAC地址和时间戳, 编码DNS名称和时间戳的哈希,或者 使用122位随机数…足够大,发生碰撞的可能性非常小。 对于64位,根本没有足够的位用于“通用唯一性”。例
问题内容: 这是将UUID()生成的MySQL GUID / UUID转换为二进制文件(16)的最佳方法: 然后将其存储在BINARY(16)中 我应该知道以这种方式进行操作有什么影响? 问题答案: 含义不多。它会稍微减慢查询速度,但是您几乎不会注意到它。 无论如何都存储为内部。 如果要将二进制文件加载到客户端中并在客户端进行解析,请注意,它可能具有除initial之外的其他字符串表示形式。 的函
问题内容: Xcode 8更新: 在Xcode 8中,需要转到Core Data Model Editor并显示File Inspector。底部附近是代码生成的选项。选择快速。 编辑 :我找到了从核心数据实体生成Swift模型的解决方案: 在Xcode上: 编辑器 >创建NSManagedOjbect>单击按钮“下一步”>单击按钮“下一步”>选择“快速”语言>单击按钮“创建” 我使用Core D
我正在使用mySQL数据库,该表有一个由数据库引擎生成的UUID格式的主键。我使用Spring framework JdbcTemplate(https://docs.Spring.io/Spring/docs/current/javadoc-api/index.html?org/springframework/jdbc/core/JdbcTemplate.html)来执行所有操作。但是在插入时,
问题内容: 我刚刚将一堆数据导入到MySQL表中,并且有一列“ GUID”,我希望基本上用新的和唯一的随机GUID填充所有现有行。 如何在MySQL中做到这一点? 我试过了 并且让每个领域都一样 问题答案: 我不确定这是否是最简单的方法,但是可以。这个想法是创建一个可以为您完成所有工作的触发器,然后执行查询以更新您的表,最后删除该触发器: 然后执行 和; UPDATE 另一个不使用触发器,但需要主
.NET核心和ASP.NET核心到底有什么区别?
我已经用MVC创建了一个ASP.NET核心Web。我用Identity搭建了它,并添加了我的默认布局页面和使用了登录页面。现在我遇到了一个问题,当我登录时,它找不到列“username”和“password”,我相信。我不是很确定,我会承认我能得到的所有帮助:)。这是我的网站上的错误: 而错误页面中红色部分为: 事先谢谢!
本文向大家介绍详解php中生成标准uuid(guid)的方法,包括了详解php中生成标准uuid(guid)的方法的使用技巧和注意事项,需要的朋友参考一下 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 通常平台 会提供生成UUID的API。UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。 由以 下几部