是否可以使用EF Code First Migrations的CreateIndex語法創建覆蓋索引(*請參閱下文了解覆蓋索引的含義)。EF代碼優先:CreateIndex - 覆蓋索引
例如,我可以在手動遷移創建一個簡單的指標,像這樣:
CreateIndex("RelatedProduct", "RelatedId");
它有一個名爲「匿名參數」的最終參數,指定它可以處理任何潛在的供應商支持 - 但它不是清楚我如何確定支持是什麼。這是可能的還是我需要訴諸平坦的SQL? *覆蓋索引是RDB在葉節點中存儲重複數據的地方,而不僅僅是指向主表的指針。它本質上是索引中列重新排序的表的重複,僅包含該類型搜索中最常用的列。
是的,一個普通的醇」(非聚集)索引和覆蓋索引之間的差通常是一個索引不存儲數據,只是指向表的指針。覆蓋索引額外存儲一些列的副本。 http://stackoverflow.com/questions/609343/what-are-covering-indexes-and-covered-queries-in-sql-server在檢查源代碼時的良好調用,我會看看。 – 2013-02-15 01:19:53
你是對的; anonymousArguments arg給了我希望,但是源代碼只是將它們存儲在一個Dictionary中,並且對它們不做任何事情 - 大概是將來的特性。它看起來合理地可能分叉源並且增加這個能力。 System.Data.Entity.Migrations.Sql.SqlServerMigrationSqlGenerator有一個保護虛擬無效生成(CreateIndexOperation createIndexOperation)的方法,該方法足以直接將其添加到。 – 2013-02-15 01:37:49