[英]Entity Framework - [Keyless] Data Annotation Missing
根據 Microsoft Documentation Here ,我應該有權訪問 [Keyless] 的屬性,因此我可以定義我的 Model 具有 Keyless,因此在我的 DBContext 中我可以有類似的東西:
public DbSet<MyKeylessClass> KeylessModel { get; set; }
並使用_context.KeylessModel.FromSqlRaw(...)
,而無需向其添加 PK。 我有對System.ComponentModel.DataAnnotations
的引用,並且除了 Keyless 之外的所有屬性都在那里,我在這里缺少什么?
好吧,官方 EF Core 3.0 發布文檔還沒有說明支持該屬性,而是指示無密鑰類型使用HasNoKey()方法:
ModelBuilder.Entity<MyKeylessClass>().HasNoKey()
你可以在這里閱讀更多
您可能錯過了鏈接文檔主題開頭的注釋的以下部分
[Keyless]
數據注釋在 EFCore 5.0 中可用。
“成為”? “在 EFCore 5.0 中”? 來吧,目前還沒有 EFCore 5.0。
無論如何,看起來他們正在主動記錄未來的事情,所以當某些東西丟失或與記錄的不同時,請注意這一點。
如果你有 ef 5.x 但它不在常規數據注釋命名空間下,它現在就在那里,試試這個: [Microsoft.EntityFrameworkCore.Keyless]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.