SubSonic 3 Linq proyecta tipos anónimos pero no tipos de clase

Soy bastante nuevo en SubSonic 3 / Linq, y no sé si me estoy perdiendo algo obvio, pero creo que me encontré con un problema de proyección. Estoy tratando de realizar la consulta más básica y obtengo resultados correctos solo cuando uso tipos anónimos. En el momento en que cambio los tipos anónimos por tipos de clase regulares, obtengo todas las propiedades establecidas en nulo / cero. Estoy creando una biblioteca de clases DAL, por lo que desafortunadamente los tipos anónimos no son una opción.

Retazo

using System;
using System.Linq;
using Fruits.Data;

namespace FruitTest {

    class Program {
        static void Main(string[] args) {

            var db = new FruitsDB();

            var fruits = from f in db.Fruits
                         select new FruitView {
                             MyFruitID = f.FruitID,
                             MyFruitName = f.FruitName,
                         };

            foreach (var f in fruits) {
                Console.WriteLine(f.MyFruitID + "\t" + f.MyFruitName);
            }

        }
    }

    public class FruitView {
        public int MyFruitID { get; set; }
        public string MyFruitName { get; set; }
    }

}

Así que esto no funciona (devuelve todos los nulos / ceros)

var fruits = from f in db.Fruits
             select new FruitView {
                 MyFruitID = f.FruitID,
                 MyFruitName = f.FruitName,
             };

Esto funciona como se esperaba

var fruits = from f in db.Fruits
             select new {
                 MyFruitID = f.FruitID,
                 MyFruitName = f.FruitName,
             };

Mi problema es algo similar aesta yesta, solo que ni siquiera estoy haciendo juntas; Simplemente selecciona.

Cualquier pista será muy apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta