0

私は現在、自分のプロジェクトの 1 つに行き詰まっており、助けが必要です..

テーブルと計算列 (Distance) を返すテーブル値関数を MSSQL で作成し、Entity Designer を使用して Entity Framework 5 にマップしました。

問題は、結果を複合型またはモデル クラス内のエンティティとしてのみマップできることです。エンティティでナビゲーション プロパティの 1 つを使用する必要があるため、エンティティ クラスの使用に固執しています。

ただし、距離列はテーブル内の実際の列ではないため、テーブル値関数のすべてのエンティティについてその値を取得する方法がありません。

これをハッキングする方法はありますか?部分クラスを使用してみましたが、関数は Distance 列をプロパティとしてマップしません。

ここで私がやろうとしていることを説明する小さなコードがあります:

IQueryable<Deal> deals = context.GetDealsByTypeLocationSearch(latitude, longitude);
foreach (var d in deals)
{
  Console.Write(d.Distance); 
}

エンティティ Deal の部分クラスを作成しようとすると、距離の値が null です。

4

1 に答える 1

0

ここで答えを言い換えると、次のプロパティを使用します。

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]

編集:データベースの最初のアプローチの使用を考慮して、 DefiningQueryの微調整を検討しましたか?

于 2012-11-02T10:35:14.363 に答える