One to one OPTIONAL relationship <p>Traditional EF questions starts with: My models are</p> <pre><code>public class Ingredient { public int IngredientID { get; set; } public virtual RequestedIngredient RequestedIngredient { get; set; } // other stuff } public class RequestedIngredient { [Key] string BlahBlahBlah { get; set; } public int? IngredientID { get; set; } public virtual Ingredient Ingredient { get; set; } } </code></pre> <p>Somewhere in dbContext...</p> <pre><code> modelBuilder.Entity&lt;Ingredient&gt;() .HasOptional&lt;RequestedIngredient&gt;(e =&gt; e.RequestedIngredient) .WithOptionalPrincipal(e =&gt; e.Ingredient) .Map(e =&gt; e.MapKey("IngredientID")) .WillCascadeOnDelete(false); </code></pre> <p>But I get Schema specified is not valid. Errors: (195,6) : error 0019: Each property name in a type must be unique. Property name 'IngredientID' was already defined.</p> <p>If I remove IngredientID from RequestedIngredient, the db will be created just as I want to. But I have no access to IngredientID. How can I set this up to have access to foreign key?</p>