2013-07-29 20 views
0

我需要創建一個具有多個唯一字段的POCO。我有用Key標記的典型實體標識字段。但是我有另一個名爲StudentId的字段,它是字符串類型,也需要唯一。在包含Id的多個字段上使用[Key]屬性會引發錯誤。我找不到任何其他的工作屬性。請幫助我,謝謝。在POCO和實體框架代碼中將一個屬性標記爲唯一

+0

請參閱動手[http://stackoverflow.com/questions/10614575/entity-framework-code-first-unique-column](http: //stackoverflow.com/questions/10614575/entity-framework-code-first-unique-column) 關於如何使用數據註釋將列標記爲唯一。 – grabbag

回答

2

您是否嘗試過在CreateIndex方法中執行此操作?

CreateIndex(table: "Students", 
     column: "Name", 
     unique: true, // unique index 
     name: "StudentIndex"); 

你也可以使用ExecuteStoreCommand

context.ObjectContext.ExecuteStoreCommand("CREATE UNIQUE CONSTRAINT..."); 
+0

謝謝,我只是覺得有一個屬性可以處理。 –

+0

@RueLeonheart不,沒有,但你可以通過[在這裏投票]在下一個版本中顯示你對它的支持(http://data.uservoice.com/forums/72025-entity-framework-feature-建議/建議/ 2231176-indexattribute) –

+0

我沒有時間去看看,但我確定應該有一種方法來連接你自己的屬性並將其稱爲'[IndexAttribute]',這樣你就可以觸發' CreateIndex'命令。 –