在使用.NET对象的同时重写ColdFusion中的C#代码

时间:2014-01-03 15:53:41

标签: .net coldfusion coldfusion-10 cfml

我想知道是否有人可以帮我改写CFML中的以下C#代码?我可以访问DLL并可以使用CFOBJECT成功访问这些类。我无法解决的是如何将以下语法从C#转换为CFML。我整个下午一直在努力,而且无处可去,我找不到任何关于这样做的好教程。

可以在http://api.korzh.com/easyquery/asp-net看到API参考。

代码如下:

using Korzh.EasyQuery;
using Korzh.EasyQuery.Db;
using Korzh.EasyQuery.WebControls;

protected void Page_Load(Object sender, EventArgs e) 
{ 
  DbQuery query = (DbQuery)Session["QUERY"];
  if (query == null) {  
      //we didn't open this page before

      string modelPath = this.MapPath("~/App_Data/MyModel.xml");

      Korzh.EasyQuery.DataModel model = new Korzh.EasyQuery.Db.DbModel(); 
      model.LoadFromFile(modelPath); 

      query = new Korzh.EasyQuery.Db.DbQuery(); 
      query.Model = model;

      query.Formats.SetDefaultFormats(FormatType.MsSqlServer); 
      Session["QUERY"] = query;
  }
}

非常感谢!

澄清:

EasyQuery提供了一组jQuery小部件,它们使用数据库的JSON表示(我没有任何生成数据模型的问题,因为这可以使用EasyQuery提供的工具完成)来显示正确的列等。查询构建器。

在UI中构建查询时,可以将其发送到服务器。查询不会作为SQL发送,这将是一个安全风险,但作为某种混淆的字符串发送。然后可以使用ASP.NET类将此字符串转换为SQL,以便可以对数据库运行查询。我希望能够做的是在ColdFusion中使用这些ASP.NET类将字符串转换为SQL。

我相信(但不确定)http://docs.korzh.com/easyquery/aspnet/getting-started-webforms处的代码演示了如何生成SQL。

2 个答案:

答案 0 :(得分:0)

Easy似乎是一个生成SQL查询的完整应用程序。它让我想起了一个非常好看的Management Studio替代品

enter image description here

<强> CFQUERY

如果您要运行SQL,只需将左下角的SQL复制到<cfquery>标记即可。 (推荐)

<强> CFOBJECT 如果您希望通过ColdFusion访问.Net对象,可以通过

完成
<cfobject type=".NET" name="mathInstance" class="mathClass"> 
    assembly="C:/Net/Assemblies/math.dll">
<cfset myVar=mathInstance.multiply(1,2)>

来源: https://learn.adobe.com/wiki/display/coldfusionen/cfobject%3A+.NET+object

如果您希望在ColdFusion中重建此应用程序,这是一个非常大的项目,超出了SO主题的范围

答案 1 :(得分:0)

您需要使用XmlParse将xml文件读取为一个,以便Coldfusion可以处理它。我不确定是否有例程生成SQL来在SQL Server中设置db模型。