2011-05-10 68 views
2

愚蠢的問題:我們如何指定EF 4.1 RTM辨別器列的值?我有這個:EF代碼第一次最終版本中的辨別器列

modelBuilder.Entity<Entity>() 
      .Map<Individual>(m => m.Requires(ind => ind.EntityKind).HasValue(1)) 
      .Map<Company>(m => m.Requires(c => c.EntityKind).HasValue(2)); 

它遵循我找到的關於它的鏈接。但是,HasValue現在看起來沒有任何參數。對此有何幫助? btw,我可以在哪裏找到關於EF代碼的完整且正確的文檔?

謝謝。

+0

Ado.Net團隊博客:http://blogs.msdn.com/b/adonet/ – hazimdikenli 2011-05-10 11:46:56

回答

5
modelBuilder.Entity<Entity>() 
      .Map<Individual>(m => m.Requires("EntityKind").HasValue("1")) 
      .Map<Company>(m => m.Requires("EntityKind").HasValue("2")); 
+0

謝謝。順便說一下,這有什麼想法?兩個重載完全不同的東西?我知道CLR級別的重載允許,但在C#中?真???哦,以及...再次感謝 – 2011-05-10 12:01:39

+0

順便說一句,看起來像類名迷失在複製和粘貼。您也可以使用.HasValue (1),如果「EntityKind」屬性類型不是字符串,那麼字符串版本可能不起作用。 – hazimdikenli 2011-05-10 12:12:51

+0

沒問題...我認爲添加泛型類型參數會是多餘的,所以它應該是一樣的:) – 2011-05-11 08:28:07