Поскольку я пытаюсь изменить приложение «Код вначале», чтобы он соответствовал многопользовательским требованиям, я в основном добавил дополнительный столбец ключа ко всем таблицам (и создав составной первичный ключ):
[Key, Column(Order = 1)]
public int CompanyID { get; set; }
public class Worker
{
[Key, Column(Order = 0)]
public int WorkerID{ get; set; }
[Key, Column(Order = 1)]
public int CompanyID { get; set; }
[Required]
public string Name { get; set; }
public virtual int ActivityId { get; set; }
public virtual Activity SomeActivity { get; set; }
}
public class Activity
{
[Key, Column(Order = 0)]
public int ActivityID { get; set; }
[Key, Column(Order = 1)]
public int CompanyID { get; set; }
[Required]
[Display(Name = "Desc.")]
public virtual string Description{ get; set; }
}
Когда EF пытаетсясоздать базу данных Я получаю сообщение об ошибке:
* Ограничение внешнего ключа 'Activity_ActActivityt' из таблицы Worker (CompanyID, ActivityId) в таблицу Activity (ActivityID, CompanyID) :: Недостаточное сопоставление: внешний ключ должен быть сопоставлен с каким-либо AssociationSet илиEntitySets, участвующие в ассоциации внешнего ключа на концептуальной стороне. *
Не могли бы вы показать мне, как отобразить эти две таблицы, учитывая, что для каждого пользователя должно быть выбрано действие.
Спасибо, Тихи