В базах данных бывает так, что у вас есть несколько похожих записей. Как и несколько внешних ключей из одной таблицы. В этих редких случаях они также не являются полными отношениями N: M, поэтому они не могут (и не должны) решаться таким образом. У вас есть действительные примеры для этого редкого случая. В конце концов, Агент также может быть Клиентом в любой данной Транзакции. Включая тех, где он также является агентом.
Я всегда стараюсь работать с таблицей, для которой есть внешний ключ, с именами столбцов. Но в таком случае вы могли бы включить в нее функцию.
public string Fk_CustomerMemberId { get; set; }
public string Fk_AgentMemberId { get; set; }
Однако я понятия не имею, как заставить EF правильно отобразить их с разными именами. Я полагаю, вы поместили это в [ForeignKey("CustomerModel")]
Атрибут. Может быть, что-то вроде ("CustomerModel.MemberID")
или ("CustomerModel","MemberID")
?