2017-02-09 1 views
0

Мой КлассКак карта Два списка свойства того же класса в Entity framefork 6

public class DocumentSale 
{ 
    public List<DocumentSale> FollowDocuments {get; set;} 
    public List<DocumentSale> BaseDocuments {get; set;} 
} 

Как отобразить его в рамках сущности? Я получаю сообщение об ошибке

"FK_dbo.DocumentSaleDocumentSales_public.saledocument_DocumentSa" для отношения "DocumentSaleDocumentSales" уже существует

Моя База данных Postgres 9.4.9

+0

Также класс DocumentSale имеет поле идентификатора, помеченный как [Key] –

+0

Вы должны использовать InverseProperty –

ответ

0

Это то, что мне нужно:

public class DocumentSale 
{ 
    public List<DocumentSale> FollowDocuments {get; set;} 
    public List<DocumentSale> BaseDocuments {get; set;} 
} 

    modelBuilder.Entity<DocumentSale>() 
     .HasMany<DocumentSale>(c => c.baseDocuments) 
     .WithMany(c => c.followUpDocuments) 
     .Map(
     cs => 
      { 
       cs.MapLeftKey("followdocid"); 
       cs.MapRightKey("basedocid"); 
       cs.ToTable("basefollow"); 
      } 
     ); 
0

Вы могли бы попробовать что-то вроде этого

public class DocumentSale 
{ 
    [Key] 
    public int Id { get; set; } 
    public int? FollowDocumentId { get; set; } 
    public int? BaseDocumentId { get; set; } 

    public virtual DocumentSale FollowDocument { get; set; } 
    public virtual DocumentSale BaseDocument { get; set; } 

    [ForeignKey(nameof(FollowDocumentId))] 
    public virtual List<DocumentSale> FollowDocuments { get; set; } 
    [ForeignKey(nameof(BaseDocumentId))] 
    public virtual List<DocumentSale> BaseDocuments { get; set; } 
} 
+0

Message = были обнаружены один или несколько ошибок проверки в процессе генерации модели: –

+0

DocumentSale_baseDocuments_Source_DocumentSale_baseDocuments_Target:: Типы всех свойств в зависимой роли референтного ограничения должны быть такими же, как соответствующие типы свойств в главной роли. Тип свойства «BaseDocumentId» в сущности «DocumentSale» не соответствует типу свойства «id» для объекта «DocumentSale» в ссылочном ограничении «DocumentSale_baseDocuments». –

+0

DocumentSale_followUpDocuments_Source_DocumentSale_followUpDocuments_Target:: Типы всех свойств зависимой роли ссылочного ограничения должны быть такими же, как соответствующие типы свойств в главной роли. Тип свойства «FollowDocumentId» в сущности «DocumentSale» не соответствует типу свойства «id» в сущности «DocumentSale» в ссылочном ограничении «DocumentSale_followUpDocuments». –

Смежные вопросы