我正在开发一个asp.net mvc Web应用程序,它连接到两个不同的DB(我将它们命名为dbA和dbB)。目前,我需要创建一个包含来自不同表的值的JSON对象。
这两张表格如下: -
Table Technology from dbA
,包含以下字段: -
>> dbAID , Tag , db2ID
来自dbB的table Resource
有: -
>> Db2ID , Name
我有以下Action方法: -
public ActionResult AutoComplete(string term)
{
var tech = dbA.Technology.Where(a=>a.Tag.StartWith(term));//select all technology that have their tags start with passed term
var db2IDList = tech.Select(a=>a.db2ID).ToArray();//create a list of db2ID
var resource = dbB.Resource.Where(db2IdList.Contains(a=>a.dbBID));//get the resource based on the db2IDList
JsonResult j = newJsonResult();
//here I want the json to contain the Technology.Tag + ResoruceNane, where the join is based on the db2Id stored insdie the technology table
}
那么,任何人都可以尝试构建我的JSON对象的最佳方法吗?
由于
答案 0 :(得分:0)
匿名类型:http://msdn.microsoft.com/en-us/library/bb397696.aspx
框架提供了JsonResult,由Json(对象)助手生成。
e.g。 return Json(new { field1 = resource.fieldOne, field2 = resource.fieldTwo })
答案 1 :(得分:0)
你可以构建一个List,我觉得它更容易:
List<Object> _return=new List<object>();
_return.Add(Technology.Tag);
_return.Add(ResoruceName);
Return Json(new {Success=true, _return});
//然后在你的Javascript中获取这些对象,这将是一个易于使用的数组