Допустим, у меня есть таблица базы данных под названием Animals, которую я перетаскиваю в свой файл DBML Linq-2-SQL.
Это создает мне класс под названием Animal.
Затем я создаю класс для его расширения, например:
public partial class Animal{
//my extra code here
}
Но я также хочу иметь такой класс:
public class Zebra : Animal{
//even more extra code here
}
Проблема в том, что я получаю исключение InvalidCastException из своего репозитория, когда я делаю это:
Animal a = dataContext.Animals.Where(c=>c.id.Equals(id)).SingleOrDefault();
return (Zebra)a;
Я сократил свои занятия до такой степени, что они стали совершенно пустыми в попытке работать, почему это не работает. Безрезультатно.
Этот процесс приведения работал в проекте, отличном от LINQ-2-SQL, который я переключаю на MVC / LINQ.
Сделано много гуглить, но на этот раз совершенно тупо ...
Предполагая, что это невозможно, какой лучший альтернативный подход? Интерфейсы?
Джейк