实体框架代码第一个唯一列 [英] Entity Framework code first unique column

查看:24
本文介绍了实体框架代码第一个唯一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Entity Framework 4.3 和 Code Fist.

I am using Entity Framework 4.3 and using Code Fist.

我有一堂课

public class User
{
   public int UserId{get;set;}
   public string UserName{get;set;}
}

如何告诉实体框架在创建数据库表时用户名必须是唯一的?如果可能,我更愿意使用数据注释而不是配置文件.

How do I tell Entity Framework that UserName has to be unique when creating database table? I would prefer to use data anotations instead of configuration file if possible.

推荐答案

EF4.3 的解决方案

Solution for EF4.3

唯一用户名

在列上添加数据注释:

 [Index(IsUnique = true)]
 [MaxLength(255)] // for code-first implementations
 public string UserName{get;set;}

唯一 ID,我在我的专栏上添加了装饰 [Key] 并完成了.与此处描述的解决方案相同:https://msdn.microsoft.com/en-gb/data/jj591583.aspx

Unique ID , I have added decoration [Key] over my column and done. Same solution as described here: https://msdn.microsoft.com/en-gb/data/jj591583.aspx

浏览器:

[Key]
public int UserId{get;set;}

其他答案

使用数据标注

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("UserId")]

使用映射

  mb.Entity<User>()
            .HasKey(i => i.UserId);
        mb.User<User>()
          .Property(i => i.UserId)
          .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
          .HasColumnName("UserId");

这篇关于实体框架代码第一个唯一列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆