1

いくつかのツリーのルートを取得する必要がありますが、EF クエリ:

SomeTree.Where(t => t.ParentID == null);

または動的 linq クエリ:

SomeTree.Where("ParentID== null");

クエリを返しsqlます:

SELECT 
CAST(NULL AS int) AS [C1], 
CAST(NULL AS int) AS [C2], 
CAST(NULL AS varchar(1)) AS [C3]
FROM  ( SELECT 1 AS X ) AS [SingleRowTable1]
WHERE 1 = 0

ルートを返さないのはなぜですか?

マッピング:

            HasKey(c => c.ID);
            Property(c => c.ID).HasColumnName("ACTID").HasColumnType("int").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity).IsRequired();
            Property(c => c.Title).HasColumnName("ACTName").HasColumnType("nvarchar").HasMaxLength(100).IsUnicode(true).IsVariableLength().IsRequired();
            Property(c => c.ParentID).HasColumnName("ACTActKindID").HasColumnType("int").IsOptional();            
            HasMany(c => c.Children).WithRequired(c => c.Parent).HasForeignKey(c => c.ParentID);
4

1 に答える 1

1
WHERE 1 = 0

かなり悪いように見えます(つまり、これは二度と戻りません)

データベースのparentID列はnull可能ではないと思います

于 2012-07-21T07:03:33.383 に答える