将Linq查询转换为Lambda

时间:2016-09-06 08:45:55

标签: c# entity-framework lambda linq-to-sql

如何将以下linq转换为sql为lambda表达式。感谢。

 var existing = (from a in db.sms_imported_trn_code
                 where !db.sms_description.Any(m => m.trn_code == a.trn_code)
                 select new  { trn_code = a.trn_code }).ToList();

修改

我尝试了以下查询,但它给了我一个错误。请查看下面的图片。

View Error Image

我的模型类在

之下
    public class sms_imported_trn_code
    {
        public int id { get; set; }
        public string trn_code { get; set; }
        List<sms_imported_trn_code> sms_import_list { get; set; }
    }
}


 public class sms_description
    {

        public int id { get; set; }
        public string trn_code { get; set; }
        public string Description { get; set; }

        [DisplayFormat(DataFormatString = "{0:MMM-dd-yyyy}", ApplyFormatInEditMode = true)]
        public DateTime create_date { get; set; }
        public string created_by { get; set; }

    }

1 个答案:

答案 0 :(得分:0)

您收到错误是因为您正在编写“s.sms_description”,sms_description不是类sms_imported_trn_code的一部分,它是一个单独的类,因此您需要编写db.sms_description

db.sms_imported_trn_code
  .Where(s => !db.sms_description.Any(m => m.trn_code == s.trn_code))
  .Select(t => new {trn_code = t.trn_code }).ToList();