我成功地使用MVC3中的JavaScriptSerializer将json字符串反序列化为动态对象.我无法弄清楚的是如何将它投射到我可以列举的东西上.下面的foreach代码行是我最新的attemt,但它错误:"无法将类型'System.Dynamic.DynamicObject'隐式转换为'System.Collections.IEnumerable'.如何转换或转换以便我可以遍历字典?
public dynamic GetEntities(string entityName, string entityField)
{
var serializer = new JavaScriptSerializer();
serializer.RegisterConverters(new[] { new MyProject.Extensions.JsonExtension.DynamicJsonConverter() });
dynamic data = serializer.Deserialize(json, typeof(object));
return data;
}
foreach (var author in GetEntities("author", "lastname"))
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个SQL视图,它从不同的数据库中将每个表拉到一起.SQL在查询编辑器中工作正常,但当我尝试将其作为视图运行时,MSP_EpmProject表中的所有列都显示"Unsupported DataType".
SELECT TOP (200) dbo.Project.ProjectID, dbo.Project.ProjectGUID, dbo.Project.ProjectName, dbo.Project.DefaultBaselineID,
FMM_ProjectServer_Reporting.dbo.MSP_EpmProject.ProjectName AS Expr1
FROM dbo.Project INNER JOIN
FMM_ProjectServer_Reporting.dbo.MSP_EpmProject ON dbo.Project.ProjectGUID = FMM_ProjectServer_Reporting.dbo.MSP_EpmProject.ProjectUID
Run Code Online (Sandbox Code Playgroud) 基本上我正在将SQL数据表转换为我可以成功完成的通用列表.但我无法弄清楚如何返回列表对象.我得到一个错误,说是一个变体 - 无法隐式转换类型System.Collections.Generic.IList到System.Collections.Generic.List
将List作为类型List返回的正确方法是什么?
public List<MyObject> GetAllMyObjects()
{
String command = "select * from names ";
DataTable tableResult = DataTableToList.ExecuteDataTable(command, CommandType.Text, null,connectionString);
IList<MyObject> theList = DataTableToList.ConvertTo<MyObject>(tableResult);
return // I’m not sure how to return theList here...
}
Run Code Online (Sandbox Code Playgroud) 下面的代码从我用来保存"模板"记录的实体创建一组记录.我遍历模板并创建记录,其中包括我使用EntityReferenceentity的查找字段.但是当我使用EntityReference创建一个回到父实体记录的关系时,我得到了这个错误.
crm 2011无法将"System.Guid"类型的对象强制转换为"Microsoft.Xrm.Sdk.EntityReference"
foreach (var template in templateSteps.Entities)
{
Entity step = new Entity("img_workflowmanager");
step["subject"] = template["img_name"];
if (step.Contains("img_poststepid"))
{
step["img_poststepid"] = (EntityReference)template["img_poststepid"];
}
if (step.Contains("img_prestepid"))
{
step["img_prestepid"] = (EntityReference)template["img_prestepid"];
}
step["img_workflowstepsid"] = (EntityReference)postMessageImage["img_procurementpackageid"];
this._orgService.Create(step);
}
Run Code Online (Sandbox Code Playgroud)