How to access and share MVC Model?
I think you need to read up a little on namespaces. Both of your namespaces don't make sense unless you will have multiple types of countries and directories.

Your namespace should be if you will have multiple countries

namespace Site.Models.Countries


otherwise it should be

namespace Site.Models


In regards to naming your view models, I would think on how you will use these models in future. If you are likely to have a page for creating, updating, removing and viewing the country, then you might well have the following view models:


DisplayCountry
UpdateCountry
RemoveCountry
SaveCountry


Some people choose to reuse single country model, but I've seen this cause more trouble than benefit. For example, in the RemoveCountry model I'll have only two properties: 

public int Id { get; set; }
public string Name { get; set;


The first property is purely for data removal purposes - I assume that you'll pass id to your data layer eventually. Second property is mainly for better UX journey. You might use it for notifying user that they are about to remove a country. E.g., in your view you might have

&lt;h2&gt;Warning&lt;/h2&gt;
&lt;p&gt;Are you sure you want to remove @Model.Name&lt;/p&gt;