【发布时间】:2019-08-29 14:36:14
【问题描述】:
我想得到一个带有列表的对象。为此的人员和数据库结果。
为了描述问题,我分享了 proto 文件,然后是代码 c# 在复制和粘贴 Visual Studio 时标记错误的地方。
一个profo文件是:
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.example.migrpc.javierpersonas";
option java_outer_classname = "JavierPersonas";
option objc_class_prefix = "HLW";
package javierpersonas;
service ServicioProbarPersonas {
rpc ListaPersonas(PersonaCompleto) returns (stream PersonaCompletoCollection) {}
}
message PersonaCompleto {
int32 idpersona = 1;
string nombre = 2;
string apellido = 3;
int32 edad = 4;
bool active = 5;
string status =6;
}
message PersonaCompletoCollection {
repeated PersonaCompleto personasCompleto = 1;
bool title = 2;
string titlename =3;
}
文件c#是
public override async Task<PersonaCompletoCollection> L istaPersonas(PersonaCompleto request, IServerStreamWriter<PersonaCompletoCollection> responseStream, ServerCallContext context)
{
List<PersonaCompleto> listaPersonas = new List<PersonaCompleto>();
var itemsDb = await _context.Persona.ToListAsync();
foreach (var item in itemsDb)
{
var people = new PersonaCompleto();
people.Idpersona = item.idpersona;
people.Apellido = item.apellido;
people.Nombre = item.nombre;
people.Edad = item.edad;
listaPersonas.Add(people);
}
PersonaCompletoCollection res = new PersonaCompletoCollection();
res.Title = true;
res.Titlename = "doctor";
res.PersonasCompleto = listaPersonas;
await responseStream.WriteAsync(res);
return await Task.FromResult(res);
}
Res.Personacompleto 是只读的。 你有什么建议吗?可以分享代码吗?
【问题讨论】: