Другим обходным решением было бы иметь класс Cat и класс Dog , чтобы получить тот же базовый класс, который затем будет иметь имя.
Вот пример
public class Pet
{
public string Name {get; set;}
}
public class Dog : Pet {...}
public class Cat : Pet {...}
// I assume each classes have their singularity;
В вашем объекте DataContext создайте метод GetPets (), например:
<code>
public IEnumerable<Pet> GetPets()
{
return Cats.Cast().Union( Dogs.Cast() );
}
Затем используйте LINQ для Pets в DataContext.
<code>
var results =
(from p in _dataContext.GetPets()
where p.Name.Contains(search)
select p);</p>
<p>
Этот код будет более масштабируемым, особенно если у вас более 2 производных классов.
{наслаждаться}