我正在从事一个项目,该项目用于将有关产品的信息输入到文档中。一个部分有一个表格,可以根据特定产品的需要多次填写。然后可以在多个相关文档中共享此表格上的信息。典型的多对多情况。不同之处在于,在中间表上,我想为该特定文档的该表单条目存储特定信息。
以下是一些表定义来说明这一点:
Document(
Id int identity(1,1),
Name nvarchar(256)
)
Form(
Id int identity(1,1),
FormData nvarchar(max)
)
DocumentForms(
DocumentId int,
FormId int,
DocumentFormNumber varchar(64)
)
还有一些课程:
public class Document{
public int Id { get; protected set; }
protected IList<Form> Forms { get; set; }
}
public class Form {
public int Id { get; protected set; }
public string DocumentFormNumber { get; set; }
public string FormData { get; set; }
}
作为与 Document 的多对多关系的一部分,在读取表单时,是否有一种方法可以创建支持读取附加数据的映射?加载具有多对多关系的数据时是否需要使用存储过程?我仍然需要能够加载 Form 对象而不将它们作为文档的一部分,但是一旦将它们添加到文档中,我需要它们具有基于一些简单规则生成的数字。但这个数字显然是特定于文件的。因此,虽然下一个文档可能使用相同的表单数据,但它需要一个新编号。
关于如何实现这一点的任何建议?