Reputation: 61
See my models
public class UsersContext : DbContext
{
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Files> Files { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
[Table("Files")]
public class Files
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
[Display(Name = "FileID")]
public int FileID { get; set; }
[Required]
[ForeignKey("UserId")] // this is what I have tried
[Display(Name = "For User")]
public int UserId { get; set; }
[Display(Name = "Description")]
public string Desc { get; set; }
[Required]
[Display(Name = "Document Upload")]
public string DocumentPath { get; set; }
}
What I want is to define a foreign key for user id in files table. How M I supposed to do that. I tried using a [ForeignKey]
attribute. But it is giving me this error while executing update-database -verbose
in PCM.
Error - The navigation property 'UserId' is not a declared property on type 'Files'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property.
Upvotes: 1
Views: 64
Reputation: 4204
[Table("Files")]
public class Files
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
[Display(Name = "FileID")]
public int FileID { get; set; }
[Required]
[Display(Name = "For User")]
public int UserId { get; set; }
[Display(Name = "Description")]
public string Desc { get; set; }
[Required]
[Display(Name = "Document Upload")]
public string DocumentPath { get; set; }
[ForeignKey("UserId")] // this is what I have tried
public virtual UserProfile UserProfile { get; set; }
}
Upvotes: 2