簡體   English   中英

如何在實體的使用表上創建PK和唯一用戶名(使用代碼優先)?

[英]How to create PK and Unique Username at Use Table in Entity (Using Code-first)?

我要設置如下。
我正在使用最新的Entity Framework和Code first方法。

Public class AppUser
{
        [Key]
        public int Id { get; set; }
        [Required]
        [Index(IsUnique = true)]
        public string UserName { get; set; }
}

但是它不起作用..

記錄示例如下

在此處輸入圖片說明

出現以下錯誤消息:

“ exceptionmessage”:“表'dbo.ApplicationUser'中的列'UserName'的類型無效,不能用作索引中的鍵列。”,

您需要限制UserName屬性的長度。 為此使用StringLength批注。

如果在CREATE INDEX語句中指定的所有固定鍵列的大小加上所有變量列的最小大小超過900字節,則CREATE INDEX語句將失敗。

來源: http//msdn.microsoft.com/en-us/library/ms191241.aspx

將此添加到您的實體

[Required]
[Index(IsUnique = true)]
[StringLength(50)]
public string UserName { get; set; }

StringLength(50)將列的大小設置為50個字符。 沒有它,由代碼首先創建的列的類型為NVARCHAR(MAX),並且EF無法在此類列上創建索引

暫無
暫無

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

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