It is not allowed to explicitly construct an entity type solution in a query when IsPrimaryKey is set to true in linq to sql

using System.Data.Linq.Mapping;
[Table (Name = "UserInfo")]

public class UserInfo
{
    [Column(IsDbGenerated = true, IsPrimaryKey = true, AutoSync = AutoSync.OnInsert, CanBeNull = false)]
    public int Id { get; set; }
    [Column]
    public int Age { get; set; }
    [Column]
    public string Name { get; set; }
    [Column]
    public string Address { get; set; }
}

public class DbLinq : DataContext
{
    /// <summary>
    /// 
    /// </summary>
    public static string ConnectionStr { get; set; }
    public DbLinq() : base(ConnectionStr)
    {
    }
    /// <summary>
    /// 
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <returns></returns>
    public Table<T> QueryInfo<T>() where T : class
    {
        if (Connection.State != ConnectionState.Open)
        {
            new DbLinq();
        }
        return this.GetTable<T>();
    }
}

 var linq = new Oscar.DbLinq();
           var model = linq.QueryInfo<UserInfo>().Where(item => item.Id == 4).Select(item => new UserInfo {Address= item.Address }).FirstOrDefault();
           IsPrimaryKey = true
Apr.09,2021
Menu