0

ここに私のエンティティがあります:

public abstract class ResourceBase
{
    [Key]
    int Id { get; set; }

    [ForeignKey("Resource")]
    public Guid ResourceId { get; set; }
    public virtual Resource Resource { get; set; }
}
public class Resource
{
    [Key]
    public Guid Id { get; set; }

    public string Type { get; set; }
}
public class Message : ResourceBase
{
    [MaxLength(300)]
    public string Text { get; set; }
}

そして、私のクエリは次のようなものです:

var msgs = messages.Where(x=>x.Id == someRangeOfIds).Include(m=>m.Resource).Select(x => new
                                {
                                    message = x,
                                    replyCount = msgs.Count(msg => msg.Id = magicNumber)
                                });

プロキシの作成を無効にしてこれを実行しています。結果はすべてのメッセージですが、すべてのリソース プロパティが NULL です。データベースを確認したところ、Guid が一致するリソースが存在します。

説明のために実際のシナリオを大幅に単純化しましたが、これだけで問題を再現できることがわかると思います。

4

1 に答える 1