0

linq to entities とストアド プロシージャを使用して外部キー値を取得しようとして、最後の 3 ~ 4 時間を費やしました。どんなアドバイスでも大歓迎です。

public JsonResult GetEvents(double? start, double? end)
    {
        AnoEntities _dbAno = new AnoEntities();

        var events = _dbAno.Events_GetByDateRange(fromDate, toDate);

        var eventList = from e in events
                        select new
                        {
                            id = e.id,
                            title = e.title,
                            className = e.event_types.type.ToString()
                        };

        return Json(eventList.ToArray());
    }

type_id は、到達しようとしている外部キーの値です。取得できないので、エンティティ データ モデルに表示され、取得できないようです。e.event_typese.event_typesReferenceはどちらも null であるため、e.event_typesReference.EntityKey.EntityKeyValues.First().Value.ToString()などは機能しません。

ありがとう!

4

1 に答える 1

1

even_typesに.IncludeメソッドまたはLoadメソッドが表示されません。また、_ dbAno.Events_GetByDateRange(fromDate、toDate)からIEnumerableが返されると想定しています。Craigがコメントで指摘したように、GetByDateRangeの戻りタイプがIQueryableである場合は、予測することになり、EFは熱心にロードする必要があります。

Entity Framework 1.0では、暗黙的な遅延読み込みはそのままではサポートされていないことに注意してください。Load()を使用してevent_typesを手動でロードするか、ObjectQueryでIncludeメソッドを使用する必要があります。

于 2010-02-05T02:00:03.660 に答える