私は linq to sql を使用しています - 以下の 2 つの小道具 (開いているタスクと閉じたタスク) の数を取得しようとしていますが、クエリでエンティティを読み込めないという例外が発生します。これを達成するにはどうすればよいですか?
私のコード:
var milestones = ReadOnlySession.All<Milestone>()
.Where(x => x.InstructionID == instructionid)
.OrderBy(x => x.Name)
.Select(x => new Milestone
{
Name = x.Name,
InstructionID = x.InstructionID,
Body = x.Body,
Deadline = x.Deadline,
MilestoneID = x.MilestoneID,
TotalClosedTasks =
ReadOnlySession.All<InstructionTask>()
.Count(c => c.Milestone == x.MilestoneID && !c.IsOpen),
TotalOpenTasks =
ReadOnlySession.All<InstructionTask>()
.Count(c => c.Milestone == x.MilestoneID && c.IsOpen)
})
.ToList();
エラー:
メッセージ : クエリでのエンティティ タイプ 'Surventrix.Domain.Model.Entities.Milestone' の明示的な構築は許可されていません。
ソース:System.Data.Linq
注: ReadOnlySession - データ コンテキストの抽象化により、All、Single が提供されます (基本的に T のすべてのエンティティを取得します)。