C# 使用Json.net序列化字典并选择实体查询
我有这样的代码C# 使用Json.net序列化字典并选择实体查询,c#,.net,json,entity-framework,dictionary,C#,.net,Json,Entity Framework,Dictionary,我有这样的代码 var records = from part in this.DataWorkspace.AUTOData.TestParameterViews select new {Name = part.ParamName, Val = part.CurrentValue} File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records },
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
生成的json文件如下所示
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
{
"parameters": [
{
"Name": "Var1",
"Val": 6666.0
},
{
"Name": "Var2",
"Val": 1.0
},
{
"Name": "Var3",
"Val": 5500.0
},
等等…列出实体中的所有成员
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
问题:我希望json输出为字典格式(如下所示),但仍然查询实体
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
"parameters": {
"Var1": 6666.0,
"Var2": 1.0,
"Var3": 5500.0,
我已经尝试了下面的代码,但对语法有疑问。具体而言,Intellisense在select
上指示错误,表示“无法隐式转换类型…”存在显式转换(是否缺少转换?)
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
Dictionary records=来自this.DataWorkspace.AUTOData.TestParameterViews中的部件
选择新字典
{Name=part.ParamName,Val=part.CurrentValue}
WriteAllText(@“c:\params.json”,JsonConvert.SerializeObject(新的{parameters=records},Formatting.Indented));
感谢您的帮助!创建字典。然后循环通过TestParameterView添加到字典。然后序列化
var records = from part in this.DataWorkspace.AUTOData.TestParameterViews
select new
{Name = part.ParamName, Val = part.CurrentValue}
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new{parameters = records }, Formatting.Indented));
Dictionary<string, float> records = new Dictionary<string, float>();
this.DataWorkspace.AUTOData.TestParameterViews.ForEach(part => part.ParamName, part.CurrentValue);
File.WriteAllText(@"c:\params.json", JsonConvert.SerializeObject(new { parameters = records }, Formatting.Indented));
Dictionary records=newdictionary();
this.DataWorkspace.AUTOData.TestParameterViews.ForEach(part=>part.ParamName,part.CurrentValue);
WriteAllText(@“c:\params.json”,JsonConvert.SerializeObject(新的{parameters=records},Formatting.Indented));
我在循环语法方面仍然有问题。intellinsense在上面列出的.ForEach
上抛出了一个错误。我在Intellisense autocomplete中没有ForEach语句。这是我没有参考的EF语法吗?很抱歉,响应太晚了。它在System.Collections.Generic.nam中espace作为列表的一种方法。能否将TestParameterView转换为列表