c# - Entity framework `AsNoTracking` is not working with anonymous projection -


in below snipped try fetch data using anonymous projection , not track entities fetched.

note : have gone through existing stack question,yet unable find working solution me

using (var db = new entities()) {      db.configuration.lazyloadingenabled = false;      db.configuration.proxycreationenabled = false;       var myprojection = db.table1                         .asnotracking()                         .include(gh=>gh.table2) //update                         .include(gh=>gh.table3) //update                         .select(x => new                         {                             table1= x,                             table2= x.table2.where(g => condition),                              table3= x.table3.where(g=>some condition)                         })                         .tolist();      var result = myprojection.select(g =>g.table1).firstordefault();  } 

when useasnotracking() data inner tables (table2,3) lost during conversion @ line var result = myprojection.select(g =>g.table1).firstordefault();

edit

if remove asnotracking() works fine.

1) how use projection , asnotracking in entity framework correctly ?

2) other option remove tracking of query?

is there possible workarounds?

use tolist() navigation properties. note still projekt in db. (ef6)

// .. table2 = x.table2.where(g => condition).tolist(), 

update:

with ef4 need map table2 manually:

 table2 = x.table2.where(g => condition).select(x => new {foo = x.bar}), 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -