Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7554883
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T11:27:19+00:00 2026-05-30T11:27:19+00:00

continuation of the issue How get array in linq to entity? but now is

  • 0

continuation of the issue How get array in linq to entity?

but now is not array => Dictionary
City type is Dictionary

 var sites = (from country in db.Countries
                        select new
                        {
                            Country = country.Title,
                            Cities = country.Cities.Select(m => m.Title)
                        })
                        .AsEnumerable()
                        .Select(country => new SitiesViewByUser()
                        {
                            Country = country.Country,
                            City = country.Cities.ToArray()
                        });

update:

public class SitiesViewByUser
    {
        public string Country { get; set; }
        public Dictionary<int, string> City { get; set; }
    }
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T11:27:20+00:00Added an answer on May 30, 2026 at 11:27 am

    You can use ToDictionary to create a dictionary from a LINQ sequence.

    The first part is the key, and the second the value, E.g.

    .Select(country => new SitiesViewByUser()
    {
        Country = country.Country,
        City = country.Cities.ToDictionary(c => c, c => c);
    });
    

    This assumes that City on SitiesViewByUser is defined as Dictionary<string, string>

    Your LINQ is quite confusing though. You are creating an anonymous type, asssumed to shape a Country, but which has a Country property on it, which is infact the Title of the country (is that the name of the country?).

    You also have a collection of just the city Titles, so I’m not sure what value you are going to use in your City dictionary on your SitiesViewByUser type.

    Also, what is a Sitie? :\

    Update

    You could do something like this:

    var countries = (from country in db.Countries
       select new
       {
         Title = country.Title,
         CityIds = country.Cities.Select(c => c.Id),
         CityTitles = country.Cities.Select(c => c.Title)
       }).AsEnumerable();
    
    // You have a collection of anonymous types at this point, 
    // each type representing a country
    // You could use a foreach loop to generate a collection 
    // of SitiesViewByUser, or you could use LINQ:
    
    var sitiesViewByUsers = countries.Select(c => new SitiesViewByUser
       {
          Country = c.Title,
          City = c.CityIds.Zip(c.CityTitles, (k, v) => new { Key = k, Value = v })
                   .ToDictionary(x => x.Key, x => x.Value)
       };
    

    Alternatively, why don’t you change the SitiesViewByUser type to be:

    public class SitiesViewByUser
    {
        public string Country { get; set; }
        public IEnumerable<City> Cities { get; set; }
    }
    

    Then you can do (using fluent syntax):

    var sitiesViewByUsers = db.Countries.Select(c => new SitiesViewByUser
      {
        Country = c.Title,
        Cities = c.Cities
      });   
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This is a continuation question from a previous question I have asked I now
Continuation of thread: C# Invalidate troubles . I created the class but now I
Ok - this is in continuation from my earlier question about sending an email
This is a continuation of the post How does one access a method from
This is in continuation of jqgrid - json looping issue with the difference that
Is the continuation features of Jetty not needed with servlet 3.0 asychronous I/O? Is
This post is the continuation of my previous post . Now I have a
In a continuation from my question here I tried using the solution provided in
A continuation from this question I need a SQL statement that returns the number
This is in continuation of my previous questions (sorry for re-posting similar type of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.