c# - How can I tell if the SQL generated by an Entities Framework 6+ query is using an index or not? -


i have c# entities framwork 6+ project. used following post have sql generated each sql operation printed output pane:

how view sql generated entity framework?

how can tell if query using available index(es) query if field used in query has index it?

here actual sql query printed output pane:

sql generated: select      [groupby1].[a1] [c1]     ( select          count(1) [a1]         [dbo].[canonicals] [extent1]         ([extent1].[stableid] = @p__linq__0) or (([extent1].[stableid]     null) , (@p__linq__0 null))     )  [groupby1] 

here c# code generated sql. note stableid property/field does have index:

var sqlquery = this._dbcontext.canonicalsentences.where((r) => r.stableid.equals(stableid));  return sqlquery.count() > 0; 

here declaration of stableid index using data annotations before stableid property:

[index] [indexattribute("stableid", 0, isunique = true), stringlength(30)] public string stableid { get; set; } 

follow-up: if sql shown not using stableid index, please tell me how make entities framework (or whatever) generate correct sql use index.

which index used dbms (i think sql server in case) decision. see index used (in case if index used or not) go sql management studio, paste query in query window , click on show execution plan.


Comments

Popular posts from this blog

android - Pass an Serializable object in AIDL -

How to provide Authorization & Authentication using Asp.net, C#? -

How to use Authorization & Authentication in Asp.net, C#? -