linq to ef 外键怎么做为条件实现查询?
var xl = db.xianlu.Where(x => x.id == id).FirstOrDefault();
var jh = db.jihua.Where(j => j.xianlu==xl).ToList();
以上是我写的报错
无法创建类型为“结束类型”的常量值。此上下文仅支持基元类型(“例如 Int32、String 和 Guid”)。
请问谁知道哪里写错了?应该怎么做?
------解决方案--------------------xl 是一整行数据啊,怎么拿来和字段比较
------解决方案--------------------var xl = db.xianlu.Where(x => x.id == id).FirstOrDefault();
没必要这样写,应该:
var xl = db.xianlu.FirstOrDefault(x => x.id == id);
他得到了符合条件的一系列记录!
var jh = db.jihua.Where(j => j.xianlu==xl).ToList();
这里面标记的字段xianlu是什么类型的,不管什么类型的都不能使用j.xianlu==xl,数据库中没有把var作为类的字段定义!
------解决方案--------------------var xl = db.xianlu.Where(x => x.id == id).FirstOrDefault().Id;
var jh = db.jihua.Where(j => j.xianlu==xl).ToList();
------解决方案--------------------
j => j.xianlu==xl
这个比较得字段和字段比才行
------解决方案--------------------最后查出来我写的这两句没有错。错的是视图上多了个}