получение той же строки в entityframework для таблицы без первичного ключа

#c# #.net #entity-framework #linq-to-sql #primary-key

#c# #.net #entity-framework #linq-to-sql #primary-key

Вопрос:

У меня есть приведенные ниже данные в таблице базы данных «Город» без первичного ключа

 CityId  CityName
1       ABC
1       XYZ
  

Я использую entityframework для извлечения этих данных, и я получаю ту же строку.
Ниже приведен код контекстного класса

 public class StudentsDbContext :DbContext
    {
        public DbSet<City> cities { get; set; }
    }
  

Ниже приведен код класса City

 [Table("City")]
    public class City
    {
        [Key]
        public int CityId { get; set; }
        public string CityName { get; set; }
    }
  

Ниже приведен выходной код

 StudentsDbContext studentsDbContext = new StudentsDbContext();
            List<City> cities = studentsDbContext.cities.ToList();
            foreach (var val in cities)
            {
                Console.WriteLine("studentName: "   val.CityName);
            }
            Console.ReadLine();
  

Ниже приведено выходное изображение
введите описание изображения здесь

Ниже приведен желаемый результат

 CityName: ABC
CityName: XYZ
  

Комментарии:

1. Что вы пробовали? что не работает?

2. Вам также нужно использовать DefaultIfEmpty , если вы хотите выполнить левое соединение.

3. Используйте левое внешнее соединение : learn.microsoft.com/en-us/dotnet/csharp/language-reference /…

4. Я обновил свою проблему, которую я нашел, пожалуйста, помогите мне с этим

5. Я рад, что вы отредактировали сообщение, но в настоящее время у вас нет никаких вопросов в новом сообщении. Перед тем, как сообщение было отредактировано, вы упомянули левое внешнее соединение. Вы все еще готовы это сделать? Если да, я могу помочь.