c# - Linq outer left join what am I doing wrong? -


reportmessages recieved report cleandirs read storage. i'm trying verify contents of report doing outter join on reportmessages , storage data

i limited lists 100, , still m.count = 213.

what doing wrong ?

var q = r in reportmessages.take(100)         join pp in cleannodirs.take(100)         on r.filename equals ("{:d2}{:d2}-{}.ps".format(pp.namemin, pp.namesec, pp.cameramac))         ps         p in ps.defaultifempty()         select new {             uploaded = p,             orig = r         }; var m = q.tolist(); 

you limit records retrieved each table 100 if have relationship of one-many or many-many result of join more 100 records. in worst case if each record in first collection matches records in second 100*100 records in result.

instead, before materializing results tolist limit 100:

var result = (from r in reportmessages               join pp in cleannodirs               on r.filename equals ("{:d2}{:d2}-{}.ps".format(pp.namemin, pp.namesec, pp.cameramac)) ps               p in ps.defaultifempty()               select  new {                   uploaded = p,                   orig = r               }).take(100).tolist(); 

for more on the different joins , how write them in linq.


Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -