I am building an MVC4 application and using Entityframework. I am using code first model.
My Project class is as follows:
public class Project
{
[Key]
public int ProjectId { get; set; }
public ProjectContact ApprovalContact { get; set; }
public ProjectContact BillContact { get; set; }
public ProjectContact ProjectContact { get; set; }
}
My ProjectContact class is as follows:
public class ProjectContact
{
[Key]
public int ProjectContactId { get; set; }
public string JobTitle { get; set; }
public string Number { get; set; }
public string ProjectContactMSFNo { get; set; }
public string FullName { get; set; }
}
While using Code first in EntityFramework database generated is
SELECT [ProjectId]
,[ApprovalContact_ProjectId]
,[BillContact_ProjectId]
,[ProjectContact_ProjectId]
FROM [Db].[dbo].[Projects]
Till now it is working fine
Now When I changed column [ApprovalContact_ProjectId] to [ApprovalContact] and try to insert project in database i get error: Invalid column name 'ApprovalContact_ProjectContactId'.
when i try to map model name in modelBuilder i get ERROR:Models.ProjectContact must be non nullable
How to tell DbContext to map [ApprovalContact_ProjectId] to [ApprovalContact]??