В принципе я получил следующую таблицу:Внешний ключ к одной и той же таблицы в EF - Получение ошибки
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string AffiliateId { get; set; }
[ForeignKey("UserId")]
public UserProfile Referer { get; set; }
}
Который имеет внешний ключ к себе (Referer). Проблема, однако, тот факт, что, когда я пытаюсь вставить новую строку:
WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new { AffiliateId = affiliateId, Referer = referer });
переменного «Referer» здесь является актуальной UserProfile. Я получаю следующее сообщение об ошибке: Отсутствует сопоставление типа объекта UserProfile с известным типом управляемого управляемого провайдера.
Что я делаю неправильно?
Я изменил то, что вы мне сказали, и изменил строку кода на: WebSecurity.CreateUserAndAccount (model.UserName, model.Password, propertyValues: new {AffiliateId = affiliateId, Referer_UserId = referer.UserId}); Теперь это, по-видимому, работает :) –