Both these approaches should work:
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
[ForeignKey("Category")]
public string CId { get; set; }
public virtual Category Category { get; set; }
}
Or:
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string CId { get; set; }
[ForeignKey("CId")]
public virtual Category Category { get; set; }
}
ForeignKeyAttribute
is used to pair navigation property and foreign key property. It contains either the name of related navigation property or the name of related foreign key property.