c# - 使用 HTTPResponseMessage 连接多个字符串
问题描述
我有两个变量字符串。如何使用我的 HTTPResponseMessage 传递两个字符串的结果
var masterInfo = entities.Empmaster.Where(e => e.EmployeeId == EmployeeID)
.FirstOrDefault();
string masterDepartment = entities.Departments.Where(d = DepartmentID =
MasterInfo.DepartmentId)
.select(d => d.Name)
.FirstOrDefault();
if (masterInfo == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No Info");
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, masterInfo);
}
每当我尝试将 masterDepartment 与 masterInfo 连接时
return Request.CreateResponse(HttpStatusCode.OK, masterInfo +
masterDepartment);
我没有收到任何错误,但有一个输出说明 System.Data.Entity.DynamicProxies.EmpMaster_260ECB16225F4E5E0232BA72326492E9BADA61D68BE4DCEF48D365296F69975F 人力资源。虽然不知何故我得到了 masterDepartment 即人力资源的结果。但不是 masterInfo 的结果。如果我只传递一个变量,如第一个示例所示,我会得到预期的输出。
解决方案
据我了解,
您想同时返回masterInfo
和响应masterDepartment
OK
然后试试下面的代码
if (masterInfo == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No Info");
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, new { MasterInfo = masterInfo, MasterDepartment = masterDepartment });
//OR
//return Request.CreateResponse(HttpStatusCode.OK, new { masterInfo, masterDepartment });
}
试一次可能对你有帮助
编辑:
在这里,我们创建一个Anonymous Type
with 关键字new
意味着只需创建新类型而不定义它们
Anonymous Type
您可以从这里了解更多信息
推荐阅读
- vagrant - 如何在 Windows 本地机器上找到存储在 Laravel Homestead 中的 MySQL 数据库?
- java - elasticsearch 6 ESIntegTestCase“代码库属性已设置”
- random - 使用 Wolfram Mathematica 获得分布的示例模拟
- r - R导入多个csv文件
- python - 如何在列表中对具有相同键的字典值求和?
- ios - layoutSubviews 添加到 UICollectionView 时冻结应用程序
- mysql - Mysql生成查询以生成自定义结果
- c# - 即使 MessageVersion 是 Soap11WSAddressing10,WCF 仍在使用 SOAP 1.2
- c# - 如何将格式化的文本从 Windows 窗体传递到 Word 应用程序?
- fiware - 如何使用 Wirecloud sth-source 算子