我正在使用 Visual Studio 2010、C# 4.0 和 Entity Framework 5.0。多年来,我一直在使用数据库优先开发,但我试图首先转向代码并遇到问题。阅读和搜索似乎无法解决问题
我将我的问题简化如下 - 我有两个类 - 评估员和文档。
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。我已经播种了文档表。
我的两个问题: 一个- 我想将文件分配给评估员 - 将其保存到数据库的最佳方法是什么?
二我有以下方法来检索分配给评估员的文件:
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();
}
}
但由于映射问题,我无法编译它。我究竟做错了什么?