IEnumerable <entity>возвращает неверные данные из моей таблицы - PullRequest
0 голосов
/ 18 июня 2011

У меня есть сущность с именем Affaire, как показано ниже:

    [Key]
    public string IdAffaire { get; set; }
    public string Title { get; set; }
    public string Note { get; set; }

У меня также есть сущность с именем Suite, как показано ниже:

    [Key]
    public string IdSuite { get; set; }
    public string IdAffaire { get; set; }
    public string Description { get; set; }

    [ForeignKey("IdAffaire")]
    public virtual Affaire Affaire { get; set; }

У одного дела может быть несколько наборов.Каждый набор связан с одним делом.

В моей таблице наборов есть следующие записи:

IdSuite/IdAffaire/Description
0001/12.345/Description1
0001/13.666/DescriptionA
0002/13.666/DescriptionB
0003/13.666/DescriptionC
0004/13.666/DescriptionD

Проблема: в моем коде, если я пытаюсь получить список всехКомплекты, я получаю следующее:

IEnumerable<Suite> suites

0001/12.345/Description1
0001/12.345/DescriptionA
0002/13.666/DescriptionB
0003/13.666/DescriptionC
0004/13.666/DescriptionD

Как видите, что-то не так с возвращенными данными ??

У вас есть идея?

Спасибо большоеmuch:)

Отредактировано для публикации кода:

... 
IEnumerable<Suite> suites;
...

Когда я отлаживаю эту строку кода и проверяю переменную suites, я получаю неправильный результат (как показано).

Может быть, проблема в том, что мне нужно правильно определить мой первичный ключ в таблице Suite: состоит из двух полей IdAffaire и IdSuite Как это сделать?

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Хорошо, я нашел проблему: поскольку у меня есть составной первичный ключ, мне нужно определить его следующим образом:

Сюита:

[Key, Column(Order=0)]
public string IdSuite { get; set; }
[Key, Column(Order=1)]
public string IdAffaire { get; set; }
public string Description { get; set; }

[ForeignKey("IdAffaire")]
public virtual Affaire Affaire { get; set; }

В любом случае, спасибо:)

0 голосов
/ 18 июня 2011

класс Affaire

    [Key]
    public string IdAffaire { get; set; }
    public string Title { get; set; }
    public string Note { get; set; }
    public ICollection<Suite> Suites {get;set;}

Люкс класса

[Key]
public string IdSuite { get; set; }
public string Description { get; set; }

[Required]
public string AffaireId { get; set; }
public virtual Affaire Affaire { get; set; }

Создание объектов

Affaire aff= new Affaire{
             Title="An Affair",
              Note="Iam note of affair"
}



Suite suite1= new Suite{
               Description="Iam Description of suite 1",
               Affaire=aff  
            };
Suite suite2= new Suite{
               Description="Iam Description of suite 2",
               Affaire=aff  
            };
Suite suite3= new Suite{
               Description="Iam Description of suite 3",
               Affaire=aff  
            };

DbContext.Affaires.Add(aff);
DbContext.Suites.Add(suite1);
DbContext.Suites.Add(suite2);
DbContext.Suites.Add(suite3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...