簡體   English   中英

使用 EF Core Fluent 配置唯一且不可為空

[英]Unique and Non-Nullable using EF Core Fluent config

我應該如何使用 EF Core fluent 配置強制執行一個不是主鍵的屬性

a) UNIQUE &
b) NON NULLABLE 

(編輯自:

在 EF Core 5.0 fluent 配置中, HasAlternateKey暗示IsRequired ,或者我應該將兩者添加到同一個約束中?

PS ..我看到該屬性變為只讀,所以問題轉移到HasIndex方法上......)

var book = modelBuilder.Entity<Book>();
book.HasIndex(p => p.Code);
book.Property(p => p.Code).IsRequired();

只需將.IsUnique()添加到HasIndex方法。

所以:

var book = modelBuilder.Entity<Book>();
book.HasIndex(p => p.Code).IsUnique();
book.Property(p => p.Code).IsRequired();

HasAlternateKey 確實意味着唯一性,但是 EF 鍵不能更改,但作為索引一部分的屬性可以更改值,即使索引是唯一的。 唯一索引(至少在 MSSQL 中......)將由數據庫強制執行,以防止您插入重復值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM