2016-10-24 9 views
0

私のDbテーブルの一部がデータベース外に移動されました。そのデータは、APIコールを介して現在利用できます。したがって、Studentクラスの下では、Subjectテーブルが移動されましたが、私はまだSubjectIdを持っており、これを使ってAPIにクエリを行い、Subjectデータを取得する必要があります。Entity Framework:サービスからのナビゲーションプロパティ

public class Student 
{ 
    public Subject Subject { get; set; } 
} 

私は自分のコードを変更する必要があり、ナビゲーションプロパティstudent.Subjectにアクセスするデータのための私のAPIを照会し、私に戻ってそれを返します文句を言わない、それを通して、私はEntityFrameworkで何かできることはありますか?行うには

+0

それを保存することができますプロパティにアクセスするたびにAPIを呼び出さないようにしたい場合。あなたの質問は明確ではありません....... –

+0

student.Subjectと書くと、EFのデータベースからデータを取得します。その代わりに、その代わりにサービスAPIからデータを取得します –

+0

ifあなたはEFをインストールしてそこにクエリーを書くことができるAPIにアクセスすることができます –

答えて

1

まあ最も簡単な方法は、[NotMapped]として対象財産をマークすることですので、EFは、DBテーブルの

を検索してみてください。そしてあなたの財産を書くませんはAPIを照会してもらいます。 これは、あなたが望む機能をカバーします。

public class Student 
    { 
     [NotMapped] 
     public Subject Subject { get { 
      return QueryAPIHere(this.SubjectId); 
     } set; } 
    } 

そして、あなたは、あなたがアクセスできるインスタンスを作成する場合は、プライベート変数に

[NotMapped] 
    private Subject _subject 
    public Subject Subject 
    { 
     get 
     { 
      if (this._subject == null) 
       this._subject = QueryAPI(this.SubjectId); 
      return this._subject; 
     } 
     set; 
    } 
+0

ありがとうAnestis、 –

関連する問題