我正在寻找创建一个 MVC 应用程序来编辑各种客户调查的结果。但我正在努力让这种方法/模型在我的脑海中出现。
我的调查结果存储在不同的数据库表(每个版本的调查一个表)中,每个版本的列集略有不同。我创建了一个组合(Sql)视图,它只显示我想要编辑的表列,因为源表包含很多不相关的列。
创建视图 [vw_CombinedSurveyResults] AS
选择 'V10_v2' 作为 anTable,UniqueRecordID,ddDate,iIncidNo,bA,bB,bC,null 作为 'bD FROM V10_v2
UNION SELECT '10_v1' as anTable, UniqueRecordID, ddDate, iIncidNo, bA, bB, null as bC, bD FROM V10_v1
UNION SELECT 'V9_v6' as anTable, UniqueRecordID, ddDate, iIncidNo, bA, null as bB, null as bC, bD FROM V9_v6
我的第一个想法是搜索组合(sql)视图(按日期和事件编号过滤),然后在表格中显示结果,到目前为止一切都很好。
我脑筋急转弯的部分是决定如何最好地更新选定的个人调查记录,这是一种整洁的方式,并且在创建未来版本的调查时需要最少的努力。
到目前为止,我已经为每个源表创建了一个 sql 视图(缩减为只包含我感兴趣的列)并使用这些视图为每个源缩减视图创建一些 Linq To Sql 类. (这些是“模型”)
我使用其中一个自动生成的类作为模型 a 来创建用于编辑调查值的强类型视图(只有一个版本,v10_v2)。
我有一个用于更新缩减视图 (V10_v2) 的控制器,并且一切正常……但这仅适用于证明概念的一个调查版本,但它非常笨重。
继续沿着这条路走意味着我需要创建多个(MVC)视图和控制器,每个调查表一个,但必须有一种更流畅/更简单的方式来组织模型或视图或两者兼而有之?
在此先感谢您的任何建议。