我正在寻找一种方法来获取SQL查询,将其传递给方法,并检索所有列及其关联表的字典。我能够根据以下内容从查询中获取表的列表: List of tables used in an SQL Query
例如,以下查询:
SELECT P.FirstName, P.LastName, P.BirthDate, P.DeathDate, VP.FullName
FROM Presidents P
INNER JOIN VicePresidents VP ON P.VicePresidentID = VP.VicePresidentID
理想情况下,它会返回一个字典(或keyvaluepair或其他任何真正的)项目,如下所示:
{FirstName, Presidents},
{LastName, Presidents},
{BirthDate, Presidents},
{DeathDate, Presidents},
{Fullname, VicePresidents}
理想情况下,这根本不应该触及SQL(如果可能的话)。标识符(P,VP)可能并不总是存在。我返回表的方法确实返回了Presidents和VicePresidents,但我确实需要列/表关系。有什么想法吗?
我正在创建一个MVC控件,您从模型中传递一个对象,它会根据模型自动创建整个表单。模型中的对象与用于填充它的sql查询匹配。我有查找参数和许多输入类型。我不能自动做的一件事就是列的表名。
我有这个问题:
SELECT
AppSettingsTypeID,
AppSettingsTypeName
FROM MasterImport.DBAppSettingsType
WHERE AppSettingsTypeID = 13
创建此类的实例
public class DBAppSettingFull
{
[FormField("App Setting Type", InputType.Dropdown, new int[] { 12, 12, 6, 6, 4 })]
public int AppSettingsTypeID { get; set; }
[FormField("App Setting Name", InputType.Textbox, new int[] { 12, 12, 6, 6, 4 })]
public string AppSettingsTypeName { get; set; }
}
使用这行代码
model.Record = Interaction.Single<DBAppSettingFull>(sqlGeneric.GetFirstDBAppSetting.Resource());
在cshtml中使用了这行代码
@(Html.GenerateForm<Cold.Framework.Classes.DBAppSettingFull>(Model.Record))
并在cshtml页面上创建表单。我正在编写ProcessForm方法。我的最后一个版本,我必须手动为每个属性/列提供表关系。我想自动这样做。