Я довольно новичок в SubSonic 3 / Linq и не знаю, упускаю ли я что-то очевидное, но думаю, что столкнулся с проблемой проекции. Я пытаюсь выполнить самый простой запрос и получаю правильные результаты только тогда, когда использую анонимные типы. В тот момент, когда я заменяю анонимные типы обычными типами классов, все свойства устанавливаются на ноль / ноль. Я создаю библиотеку классов DAL, поэтому, к сожалению, анонимные типы не подходят.
Отрывок
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; }
}
}
Так что это не работает (возвращает все нули / нули)
var fruits = from f in db.Fruits
select new FruitView {
MyFruitID = f.FruitID,
MyFruitName = f.FruitName,
};
Это работает, как ожидалось
var fruits = from f in db.Fruits
select new {
MyFruitID = f.FruitID,
MyFruitName = f.FruitName,
};
Моя проблема чем-то похожа на это и это , только я даже не делаю объединений; просто выбирает.
Любые подсказки будут высоко оценены.