gpt4 book ai didi

.net - 如何使用 Entity Framework 6.1 正确标记标识列?

转载 作者:行者123 更新时间:2023-12-01 20:05:58 24 4
gpt4 key购买 nike

我看过很多关于如何将字段标记为标识列的帖子和答案。其中许多已经过时,并且针对旧版本的 Entity Framework 。

一些资源告诉我在字段上使用属性:

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }

其他资源告诉我将此代码添加到 OnModelCreating 方法中:

modelBuilder.Entity<User>().Property(u => u.ID).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity);

我应该使用哪一个?第一,第二,两者,都没关系,还是别的什么?

最佳答案

只要主键属性的类型是数字或 GUID,Code First 就会按照约定自动将主键配置为标识列。

这意味着您不需要在代码中放入任何配置来显式地将属性设置为标识列,因为 Code First 已经为此使用了约定。你设置的数据注释属性或者Fluent API配置是没有用的。

仅当您想要禁用身份时,才可以在数字或 GUID 类型主键上使用这些配置。

关于.net - 如何使用 Entity Framework 6.1 正确标记标识列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33946212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com