1

DBContext クエリをデバッグしようとしていますが、生成された SQL は次のようになります。

SELECT 
[Extent1].[Id] AS [Id], 
[Extent1].[Name] AS [Name], 
[Extent1].[SocialDetails_Id] AS [SocialDetails_Id]
FROM [dbo].[Items] AS [Extent1]
WHERE [Extent1].[Id] = @p__linq__0

ただし、DB で ID を確認した場合でも、外部キー プロパティ SocialDetails は null です。

 public class Item
    {
        public int Id { get; set; }
 public string Name { get; set; }

          [Required]
        public User User { get; set; }

          [Required]
        public SocialDetails SocialDetails { get; set; }
etc

SocialDetails が常に null である理由を調べる最善の方法は何ですか?

4

1 に答える 1

1

遅延読み込みが無効になっている可能性があります。

Matt Whetton が提案したように、次のようなことを試してみてください。

var items = from x in dbContext.Items.Include("SocialDetails")
            where x.Id = id
            select x;

ここで、dbContext はコンテキストであり、Items という名前の DbSet があります

このリンクも参照してください (MSDN):

関連オブジェクトのロード

于 2013-02-07T15:17:04.513 に答える