Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 将ToList()的结果从中心发送到客户端_Entity Framework_Linq_Signalr - Fatal编程技术网

Entity framework 将ToList()的结果从中心发送到客户端

Entity framework 将ToList()的结果从中心发送到客户端,entity-framework,linq,signalr,Entity Framework,Linq,Signalr,这是我在实体框架代码Firts中的类(我将其缩小了): 这是客户端代码: detailHub.client.setDSLAMInfo = function (liDslams) { alert('test'); } 如果我像这样使用dslam类,alert('test')将在我的客户端触发: List<dslam> liDSLAMS = new List<dslam>(); liDSLAMS.Add(new dslam { title = "1", Type=

这是我在
实体框架代码Firts
中的类(我将其缩小了):

这是客户端代码:

detailHub.client.setDSLAMInfo = function (liDslams) {
    alert('test');
}
如果我像这样使用dslam类,
alert('test')将在我的客户端触发:

List<dslam> liDSLAMS = new List<dslam>();
liDSLAMS.Add(new dslam { title = "1", Type= "2", Port= "3"  });

var foo = JsonConvert.SerializeObject(liDSLAMS);
Clients.Client(hubConnectionId).setDSLAMInfo(foo);
编辑:

liDSLAMS
不为空:

好的,问题出在
导航属性上

似乎无法将具有导航属性的对象发送到客户端。而且它们不能转换为JSON。只需选择所需的属性,导航属性除外


我认为您从“ed.dslams.Where(x=>x.centerId==1)”中得到了NULLmethod@IrshadAhmed不,我用断点
liDSLAMS
测试了它,它有3条记录关于这个属性“public center center{get;set;}”你也从中得到了值吗?试试这个“liDSLAMS=ed.dslams.Include(I=>I.center)。其中(x=>x.centerId==1).ToList();“@IrshadAhmed谢谢,但我不认为这是因为空值,我也使用了
include
,但问题并没有解决
List<dslam> liDSLAMS = new List<dslam>();
liDSLAMS.Add(new dslam { title = "1", Type= "2", Port= "3"  });

var foo = JsonConvert.SerializeObject(liDSLAMS);
Clients.Client(hubConnectionId).setDSLAMInfo(foo);
List<dslam> liDSLAMS = new List<dslam>();
liDSLAMS = ed.dslams.Where(x => x.centerId == 1).ToList();

//this line will not work properly I guess ToList(); broke something
//var foo = JsonConvert.SerializeObject(liDSLAMS);

Clients.Client(hubConnectionId).setDSLAMInfo(foo);
var liDSLAM = ed.dslams.Where(x => x.centerId == 1).Select(x => new { x.id, x.title }).ToList();
Clients.Client(hubConnectionId).setDSLAMInfo(liDSLAM);