EFCodefirst:自动定义唯一键(英国)而不是直接方式

时间:2011-11-19 08:10:49

标签: asp.net-mvc asp.net-mvc-3 entity-framework ef-code-first

我使用MVC3和EFCodefirst来定义UKs我在Global.asax文件的DropCreateDatabaseIfModelChanges<MYDBModel>驱动类中使用以下代码:

context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX UK_Contact_AddressKind_Title ON
Addresses (Title, Contact_Id, AddressKind_Id)");
context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX UK_Member_Title ON Addresskinds
(Title, Member_Id)");

有没有办法在MYDBModel中重写OnModelCreating(DbModelBuilder modelBuilder)方法中自动定义英国?我不确切地知道,可能在某种程度上像modelBuilder.Entity<Contact>()..... ??

1 个答案:

答案 0 :(得分:3)

没有。 EF不支持唯一键,因此您在数据库初始化程序中定义键的方法是最好的。