Для этого вы используете конфигурации объекта.
В конфигурации объекта добавьте это отображение в конфигурацию объекта категории:
HasMany<Product>(x => x.Products).WithRequired().HasForeignKey(x => x.CId);
Вам необходимо сопоставить его только с одним из ваших классов, и DbContext достаточно умен, чтобы использовать его.
См. сообщение в блоге для получения дополнительной информации.
РЕДАКТИРОВАТЬ Чтобы сделать это с помощью аннотаций данных, я считаю, что правильный подход следующий:
[RelatedTo(RelatedProperty="Products", Key="CId", RelatedKey="CategoryId")]
public virtual Category Category { get; set; }