Visual Studio 2010、C# 4.0、および Entity Framework 5.0 を使用しています。私は長年データベース ファースト開発を使用してきましたが、コード ファーストに移行しようとしていて、問題が発生しています。読んだり検索したりしても問題は解決しないようです
私は次のように問題を単純化しました - 私は評価者と文書の 2 つのクラスを持っています。
public class Assessor
{
public int AssessorID { get; set; }
public virtual List<Document> Documents { get; set; }
}
public class Document
{
public int DocumentID { get; set; }
public string DocumentLocation { get; set; }
public string DocumentName { get; set; }
public virtual List<Assessor> Assessors { get; set; }
}
コンテキストで
public class DocumentAssignment : DbContext
{
public DbSet<Assessor> Assessors { get; set; }
public DbSet<Document> Documents { get; set; }
}
評価者は多くのドキュメントを持つことができ、ドキュメントは多くの評価者を持つことができます (従来の多対多の関係)。私は規則を使用して関係を作成していますが、流暢な API も使用しています。ドキュメントテーブルをシードしました。
私の 2 つの質問: 1 つ -ドキュメントを評価者に割り当てたい - これをデータベースに保存する最良の方法は何ですか?
2評価者に割り当てられたドキュメントを取得するには、次の方法があります。
public static IEnumerable<MaternalDocument> GetAssignedDocumentList(int UserID, string ConnectionString)
{
using (DocumentAssignment dbContext = new DocumentAssignment(ConnectionString))
{
return returnValue = dbContext.MaternalAssessments
.Where(m => m.AssessorID == UserID)
.Include(m => m.MaternalDocuments)
.Select(m => m.MaternalDocuments)
.ToList();
}
}
しかし、マッピングの問題により、これをコンパイルできません。私は何を間違っていますか?