实体框架代码的第一个唯一列 [英] Entity Framework code first unique column
本文介绍了实体框架代码的第一个唯一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Entity Framework 4.3和代码拳。
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解决方案
唯一的用户名
在列上添加数据注释为:
Add data annotation over column as:
[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
IE:
[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屋!
查看全文