很抱歉我的英语很差。
我有ASP。使用实体框架的。NET Core Web API。对于我的一个方法,我想返回一个具有所有关系(一对一)的对象。
我的UserAccount
类是:
[Table("UserAccount")]
public class UserAccount : BaseClass
{
// Foreign Keys
[ForeignKey(nameof(UserAccountType))]
public int UserAccountTypeId { get; set; }
[ForeignKey(nameof(Gender))]
public int GenderId { get; set; }
[ForeignKey(nameof(Truck))]
public int? TruckId { get; set; }
// Properties
public string LastName { get; set; }
public string FirstName { get; set; }
public string UserName { get; set; }
[DataType(DataType.EmailAddress)]
public string Mail { get; set; }
public string Login { get; set; }
[DataType(DataType.Password)]
public string Password { get; set; }
// Navigation Properties
[IgnoreDataMember]
public virtual Gender Gender { get; set; }
[IgnoreDataMember]
public virtual UserAccountType UserAccountType { get; set; }
[IgnoreDataMember]
public virtual Truck Truck { get; set; }
}
我还使用了DTO类:
public class UserAccountDto : BaseClassDto
{
// Foreign Keys
public int UserAccountTypeId { get; set; }
public int GenderId { get; set; }
public int TruckId { get; set; }
// Properties
public string LastName { get; set; }
public string FirstName { get; set; }
public string UserName { get; set; }
public string Mail { get; set; }
public string Login { get; set; }
public string Password { get; set; }
// Linked Objects
public virtual GenderDto Gender { get; set; }
public virtual UserAccountTypeDto UserAccountTypes { get; set; }
public virtual TruckDto Trucks { get; set; }
}
我想接收Gender
,UserAccountType
和Truck
的所有关系对象。
[HttpGet("GetByTruck/{truckId}", Name = "UserAccountByTruckId")]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public async Task<ActionResult<UserAccount>> GetByTruckId(int truckId)
{
if (truckId <= 0)
return BadRequest();
try
{
var userAccounts = await _repository.UserAccount.GetByTruckIdAsync(truckId);
var userAccountsResult = _mapper.Map<IEnumerable<UserAccountDto>>(userAccounts);
if (userAccountsResult == null)
return NotFound();
return Ok(userAccountsResult);
}
catch (Exception ex)
{
_logger.LogError($"Something went wrong inside GetById action int UserAccountController : {ex.Message} ");
return StatusCode(StatusCodes.Status500InternalServerError, "Internal Server Error");
}
}
在这个方法中,属性包含所有对象,但是当我尝试将结果映射到Dto类时,我丢失了关系对象。
所以我只有一个UserAccount对象,没有其他对象,如性别,UserAccountType或卡车。该对象变为Null。有人能帮我吗?
感谢谢谢@ranton187你救了我!希望能帮助别人,这里是我解决问题的方法。我在映射配置文件中添加了这个:
CreateMap相关内容
最新更新
- 为什么我不能在空对象上调用方法view()
- Python类和协议的多重继承
- 正在写IIS重定向规则
- .net5程序的w3wp进程的非托管内存泄漏,内存占用在哪里?
- TypeError: _getfullpathname:路径应该是字符串、字节或os.PathLike,而不是list
- 如何在typescript中设置React Native中的全局变量?
- Mac上已安装但未被IDLE识别
- 包含相同站点参数的PHP setcookie函数不起作用
- 如何修改Dart中的"打印"功能?
- 在Oauth应用程序中,如何从express服务器传递访问令牌到react应用程序?
- <a> 在按钮提交时打开选定的标签链接?
- 具有重复图像作为装饰的水平可滚动容器
- 错误:宏"断言"传递了 2 个参数,但只占用 1 个参数
- 如何检测Android设备在其浏览器中访问的链接并将url发送到另一个应用程序?
- #SET TERMINATOR语句的目的是什么?
- 类型错误:只能将 str(不是"字节")连接到套接字模块中的 str
- react-router-dom:如何用某种模式匹配url
- 为什么将单个字节类型转换为字符串在go中不起作用?
- 如何在MySql中返回不同的列而不是标准列?查询
- Listener Facebook Login in Supabase Flutter
- Javascript添加类到多个元素,除了一个
- 在windows上使用R导入xkcd字体(适用于xkcd包)
- 如何在用户输入不正确的值后使python循环程序?
- <picture> 元素在媒体查询/属性之间闪烁到 100% 宽度
- Django模板-使用字符串从表单中呈现一个字段
- didReadRSSI事件在声明后台模式进入后台时停止工作
- Twilio SMS (Java)执行失败
- 如何使用相同的算法创建两个SSH密钥?
- c -指针到数组,malloc和越界访问
- 遍历JavaScript数组不能产生正确的结果
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium