1
は、私は次のようなモデルがあります:EF4 CTP5多型クエリ
public class Employee
{
public Employee()
{
TimeCards = new List<TimeCard>();
}
public int Id { get; set; }
public string Name { get; set; }
public DateTime HireDate { get; set; }
public virtual ICollection<TimeCard> TimeCards { get; set; }
}
public class Manager : Employee
{
public bool HasCompanyCar { get; set; }
}
public class Developer : Employee
{
public string MainProgrammingLanguage { get; set; }
}
(それが重要である場合、私はthis infrastructureを使用しています)。
私が必要とするのは、マネージャではないすべての従業員を取得することです。 OfType拡張メソッドのみがあります。私が必要とするのはNotOfTypeです。
var employees = unitOfWork.Employees
.FindAll()
.NotOfType<Manager>(); //or something similar
var cards = unitOfWork.TimeCards.FindAll();
var query = from e in employees
from tc in cards
where tc.Employee.Id == e.Id && e.Name.StartsWith("C")
select tc;
オフトピック:この種の状況に適した継承ですか?どのようにモデル化していますか?私はちょうど相続が私を間違った道に導くと感じます。