The way you have it set up your members can only have one dependent. I would suggest the following setup instead.
[Key]
public int MemberId {get;set;}
public string Name {get;set;}
public string PassportNumber {get;set;}
public ICollection<Dependent> Dependents {get;set;}
Your dependent should be like this
[Key]
public int DependentId {get;set;}
[ForiegnKey("Member")] {get;set;}
public int MemberId {get;set;}
public string Name {get;set;}
public string PassportNumber {get;set;}
public virtual Member Member {get;set;}
I always use ids like MemberId and DependentId so that its purpose is clear. Not a requirement, a personal preference. If you're looking through code for all the places where you used something, it's handy to have that full name to search.
So each Dependent has the "MemberId" in it so that you (or Entity Framework or some other ORM) can tie all the related Dependents to the Member.
Your Member class will have a ICollection<dependent> as one of its properties. The Dependent would have a Member property.
To deal with the foreign key you have to save the member and get the member id after it's saved, then set the MemberId in each of the Dependents before trying to save it. An ORM like Entity Framework with do this for you.
(there's another option that uses anything that's common between the two in a separate table called 'Person' and Member & Dependent each extend from that.)
As to your question about filling the items with text boxes, you're not showing any of the view code so I'm not sure how to help there.
Mike