我想让电子邮件字段与众不同。这是ApplicationUser(IdentityUser)的一个领域。这就是我所做的: 命名空间BidProject.Models {
public class ApplicationUser : IdentityUser
{
public int UserID { get; set; }
[Index(IsUnique = true)]
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我有这些参考文献:
using Microsoft.AspNet.Identity.EntityFramework;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
我得到了这些错误:
找不到类型或命名空间名称“索引”(您是否遗漏了) using指令或汇编引用?)
类型或命名空间 无法找到名称'IndexAttribute'(您是否错过了使用 指令或程序集引用?)
如何让该字段独一无二?或者您能告诉我IdentityUser的UserName字段是如何唯一的吗?感谢。
答案 0 :(得分:1)
添加:
using System.ComponentModel.DataAnnotations.Schema;
如果这不起作用,请检查您是否有对EntityFramework.dll的引用。
答案 1 :(得分:0)
您应该为索引指定名称。使用以下语法。
[Index("IX_EmailUnique", 1, IsUnique = true)]
答案 2 :(得分:0)
看起来您缺少文件顶部的命名空间或EntityFramework.dll的项目引用?尝试将光标放在单词'索引'中,然后点击ctrl-。 - 你应该看到一个弹出菜单,提供类似“解析参考”的内容。或者'添加使用以使用System.ComponentModel.DataAnnotations.Schema;'
如果你有一个引用.net 4.5程序集的.net 4.0项目,有时会破坏它。您需要将项目升级到更新版本的框架。