0

見つけた他の回答を読みましたが、どれも役に立ちませんでした。私は .NET、Entity、C# などにまったく慣れていないので、ご容赦ください。「シード」ファイルを作成しようとしていますが、すべてのテーブルを個別にシードしようとすると、それが関連テーブルである場合にエラーが発生します。私は子テーブルだけでなく、孫も見ようとしています (それが理にかなっていることを願っています)。たとえば、私が見つけた投稿のために私が今試していたことは次のとおりです。

context.Projects.AddOrUpdate(i => i.ProjectID, 
     new Project
     {
        ProjectID = 1,
        Title = "Project 1",
        ProjectDoc = new List<ProjectDoc>
            {
                new ProjectDoc { 
                     ProjectDocID = 1, ProjectID = 1, Content = "Doc Content", DocTitle = "Chapter 1", 
                        Comment = new List<Comment> 
                        {
                             new Comment { ProjectDocID = 1, CommentID = 1, Text = "Comment text" }
                        }
                     }
                  }
             }
        );

私の問題は次のとおりです。

 Comment = **new** List<Comment> 

その「新しい」がエラーを引き起こしています:タイプ 'System.Collections.Generic.Listを暗黙的に変換できません....

私はそれをグーグルで検索しようとしましたが、見つけた専門用語がわかりませんでした。ヘルプ?

4

1 に答える 1

1

問題とは直接関係ありませんがAddOrUpdate、オブジェクト グラフには使用しないでください。メソッドの内部ロジックは関連オブジェクトをチェックしないため、問題を解決して機能させることができますが、追加部分のみが機能します。ProjectDoc追加、更新、または削除するとCommentSeedメソッドは変更を認識しません。Projectインスタンスの変更のみを直接認識します。

于 2012-12-13T09:11:00.390 に答える