This commit is contained in:
he
2022-05-11 14:45:10 +08:00
parent 10f2887c2b
commit a6b39efdf2
7 changed files with 47 additions and 27 deletions
@@ -701,27 +701,31 @@ namespace IRaCIS.Core.Infra.EFCore
string Table = item.ForeignKeyTable;
string ForeignKeyValue = item.ForeignKeyValue;
string ForeignKeyText = item.ForeignKeyText;
string value = JsonDataValue[item.Key].ToString();
string para = string.Empty;
string sql = string.Empty;
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(JsonConvert.SerializeObject(new { item = value }));
if (JsonData["item"].GetType() == typeof(JArray))
if (JsonDataValue[item.Key] != null)
{
foreach (var v in JsonData["item"] as JArray)
string value = JsonDataValue[item.Key].ToString();
string para = string.Empty;
string sql = string.Empty;
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(JsonConvert.SerializeObject(new { item = value }));
if (JsonData["item"].GetType() == typeof(JArray))
{
para += para == string.Empty ? $"'{v.ToString()}'" : $",'{v.ToString()}'";
foreach (var v in JsonData["item"] as JArray)
{
para += para == string.Empty ? $"'{v.ToString()}'" : $",'{v.ToString()}'";
}
sql = $"select {ForeignKeyText} Text from {Table} where {ForeignKeyValue} in (@para)";
}
sql = $"select {ForeignKeyText} Text from {Table} where {ForeignKeyValue} in (@para)";
}
else
{
para = $"{JsonData["item"].ToString()}";
sql = $"select {ForeignKeyText} Text from {Table} where {ForeignKeyValue} = @para";
}
SqlParameter[] paravalue = new SqlParameter[] {
else
{
para = $"{JsonData["item"].ToString()}";
sql = $"select {ForeignKeyText} Text from {Table} where {ForeignKeyValue} = @para";
}
SqlParameter[] paravalue = new SqlParameter[] {
new SqlParameter("@para",para)
};
JsonDataValue[item.Key] = string.Join(",", _dbContext.Database.SqlQuery<ForeignKey>(sql, paravalue).Select(x => x.Text).ToList());
JsonDataValue[item.Key] = string.Join(",", _dbContext.Database.SqlQuery<ForeignKey>(sql, paravalue).Select(x => x.Text).ToList());
}
}
return JsonConvert.SerializeObject(JsonDataValue);