我正在开发一个项目,用于将有关产品的信息输入到文档中。一个部分的表格可以根据特定产品的需要填写多次。然后,可以在多个相关文档上共享此表单上的信息。典型的多对多情况。区别在于,在中间表上,我想存储该特定文档的表单条目的特定信息。
以下是一些表格定义来说明这一点:
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对象而不将它们作为文档的一部分,但是一旦将它们添加到文档中,我需要它们具有基于一些简单规则生成的数字。但这个数字显然是特定于文件的。因此,虽然下一个文档可能使用相同的表单数据,但它需要一个新的数字。
有关如何实现这一目标的任何建议?