2015-05-05 82 views
1

我已經查看了各種資源,其中大多數人都看到了1to1關係的實體框架約定,例如。1to1關係的實體框架約定

public virtual Product Product {get;set;} 

不過,我也發現:

public virtual Product Products {get;set;} 

會不會有一些具體的原因,使用後者約定?我知道在一對多,它如下所示Products,但我特別感興趣的1to1公約。

public virtual ICollection<Product>Products{get;set;} 
+4

爲什麼會有人命名'1:1'關係'Products'(複數)?也許你指的是'PluralizingTableNameConvention'(這意味着數據庫*表名*將被複數化)?請參閱https://msdn.microsoft.com/en-us/library/system.data.entity.modelconfiguration.conventions.pluralizingtablenameconvention%28v=vs.113%29.aspx – haim770

+1

它仍然是一對一的關係,所以道具的名稱並不重要。我們知道這是一個錯字。如果你問是否有任何理由使用不是集合的財產的複數拼寫,答案是否定的(除非你試圖混淆每個人)。 –

+2

也許是一個錯字?這不是一個慣例afaik,並且不僅僅與EF有關,而是一般的OOP。 – Andre

回答

1

這是您看到的那些示例中的Typo

複數名稱通常表示集合,即使集合中只有1個項目。

保持非S。

+0

好的,有道理,謝謝 – Turo