Why is it a bad idea to have a table without a primary key?
<p>I am very new to data modeling, and according to Microsoft's Entity Framework, tables without primary keys are not allowed and apparently a bad idea.  I am trying to figure out why this is a bad idea, and how to fix my model so that I do not have this hole.</p>

<p>I have 4 tables in my current model: User, City, HelloCity, and RateCity.  It is modeled as shown in the picture.  The idea is that many users can visit many cities, and a user can only rate a city once, but they can greet a city many times.  For this reason, I did not have a PK in HelloCity table.</p>

<p>Any insight as to how I can change this to comply with best practices, and why this is against best practices to begin with?</p>

<p><a href="https://i.stack.imgur.com/1XY3c.png" rel="noreferrer"><img src="https://i.stack.imgur.com/1XY3c.png" alt="enter image description here"></a></p>