首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq to ef 外键如何做为条件实现查询

2012-12-15 
linq to ef 外键怎么做为条件实现查询?var xl db.xianlu.Where(x x.id id).FirstOrDefault()var

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();

[解决办法]

引用:
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
这个比较得字段和字段比才行
[解决办法]
最后查出来我写的这两句没有错。错的是视图上多了个}

热点排行