我一直在尝试使用<User>
访问我的对象SingleResult.Create()
。
这里的问题是我的API返回一个包含[1]元素的包装对象。
{"Queryable":[{"FirstName":"John","LastName":"Doe","UserName":"JohnDoe","Id":1}]}
使用SingleResult<T>
时,我已经看到可以返回类似这样一个类型的单个元素:
{"FirstName":"John","LastName":"Doe","UserName":"JohnDoe","Id":1}
我想从{"Queryable":[]}
SingleResult<T>
请帮助:D
答案 0 :(得分:2)
问题是你的SingleResult.Create()
正在为你的实体创建一个包装器对象,你想要的东西就是实体本身。要么使用项目内部的另一个方法,它不会包装你的对象(不知道那会是什么),或者更改方法的签名并直接返回实体。
[HttpGet]
public virtual TEntity GetById(int id)
{
try
{
var data = GetDataById(id);
return data;
}
catch (Exception e)
{
throw e;
}
}
public virtual TEntity GetbyId(int id)
{
var data = _ctx.Set<TEntity>().Where(e => e.Id == id);
var entity = data.FirstOrDefault();
return entity;
}