2016-10-05 13 views
1

私はデータベースからモデルを生成するためにEF6を使用しています。更新後EF 6.1.3外部キーの割り当て

public partial class FolderFiles 
    { 
     public int ID { get; set; } 
     public string FileName { get; set; } 
     public virtual Folders FolderID{ get; set; } 
    } 

    public partial class Folders 
    { 
     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] 
     public FoldersTreeDict() 
     { 
      this.FoldersTreeDict1 = new HashSet<FoldersTreeDict>(); 
      this.FolderFiles = new HashSet<FolderFiles>(); 
     } 

     public int ID { get; set; } 
     public string Name { get; set; } 

     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
     public virtual ICollection<FolderFiles> FolderFiles { get; set; } 
    } 

フォルダID =が更新されたフォルダのIDです FolderFilesからリスト、EF負荷としてすべての日付を結果を得ることに。それは多くの時間を取ることだと私はここで、すべての

で、この場合には、それらを必要としないアップデートです:

 var model = db.Folders; 
       if (ModelState.IsValid) 
       { 
        try 
        { 

         var modelItem = model.SingleOrDefault(x => x.ID == item.ID); 
         if (modelItem != null) 
         { 

          modelItem.Name = "Test"; 

          db.SaveChanges(); 
         } 
        } 
        catch (Exception e) 
        { 
         ViewData["EditError"] = e.Message; 
        } 
       } 
var result = model.ToList(); 

私は外国人のデータが欠落したり、このアップデートでは間違ってやっています負荷ですか?船荷証券のオブジェクト(私はそれが遅延ロードを呼び出すと思います) 2)上の私は、外国のデータ 1をロードするための2つの方法があった他の言語にして働いていた他のフレームワークで

PS )我々が関連付けプロパティからデータを取得したいです

+1

'db.ContextOptions.LazyLoadingEnabled = false'を試しましたか?この機能が遅延読み込みを無効にするための専用のコンテキストを開く必要があるかもしれません。 –

+0

Thx、EF6のContextOptionsの代わりにConfigurationプロパティがありますので、 'db.Configuration.LazyLoadingEnabled = false'は私のために働きます)回答を投稿すると解決します。 – DespeiL

答えて

2

あなたは、任意の参照オブジェクトに、以下のすべての選択を設定します

db.Configuration.LazyLoadingEnabled = false 

ない負荷を使用することができます。手動でロードする必要があるかもしれません。

+0

Thxですが、私はこれを知っています。フォルダファイルを含めないでください) – DespeiL

+0

申し訳ありませんが、あなたの質問が間違っている、私の答えを削除します。 –

+0

上記の説明を反映するように答えを更新しました。 –

関連する問題