我有一个简单的方法,如下所示:
public partial class PEUploadBookHistory: DataAccessBase
{
public string Get()
{
List<PEUploadBookHistory> histories = _repository.GetList<PEUploadBookHistory>().ToList();
string jsonHistories = JsonConvert.SerializeObject(histories);
return jsonHistories;
}
// Other methods like Post and Put, etc
}
并且_repository.GetList
是一个 Dapper 存储库:
public IEnumerable<T> GetList<T>()
{
IEnumerable<T> entities;
using (var connection = OpenConnection(_connectionStringName))
{
entities = connection.GetList<T>();
}
return entities;
}
第一个方法返回的 json 字符串如下所示:
[
{
"_repository": {},
"UploadBookHistoryId": 5467,
... other properties ...
}
]
我不明白为什么要添加"_repository": {},
. 不应该PEUploadBookHistory
吗?这是从哪里来的?为什么?我该如何改变它?
这是部分的其余部分:
[Table("PE_UploadBookHistory")]
public partial class PEUploadBookHistory
{
[Key]
public virtual int UploadBookHistoryId { get; set; }
... other columns ...
}
这是 DataAccessBase
public class DataAccessBase
{
public Repository _repository = new Repository("SQLConnection");
}
装饰这个属性JsonIgnore
:
[JsonIgnore]
public Repository _repository = new Repository("SQLConnection");
或者,您可以将其设为非公开。
或者,对数据库和 JSON 使用不同的模型。
如果这些解决方案都不起作用,您可以使用自定义 Json 合同类,这将需要更多的工作来组合。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句