I've just started learning Linq, and I'm trying to map a database table to a class, but I can't get it to work with a private constructor.
My code:
namespace LinqTest
{
    using System.Collections.Generic;
    using System.Data.Linq;
    using System.Data.Linq.Mapping;
    using System.Linq;
    [Table(Name = "tblCity")]
    public class City
    {
        private City()
        {
        }
        [Column(IsPrimaryKey = true, Name = "CityId")]
        public int Id { get; private set; }
        [Column(Name = "CityName")]
        public string Name { get; private set; }
        public static List<City> GetList()
        {
            var dataContext = new DataContext(Database.ConnectionString());
            var cities = dataContext.GetTable<City>();
            var iQueryable =
                from city in cities
                select city;
            return iQueryable.ToList();
        }
    }
}
I've also tried mapping to a new instance:
var list = new List<City>();
            foreach (var iCity in iQueryable)
            {
                var city = new City
                {
                    Id = iCity.Id,
                    Name = iCity.Name
                };
                list.Add(city);
            }
            return list;
What can I do to make this work? I'm open to alternative methods. Thanks
 
     
    