A DotNet Raider

My adventures in the .NET world!
posts - 49, comments - 12, trackbacks - 0

My Links

News

Website View Martino Bordin's profile on LinkedIn

Archives

Post Categories

SQL Server

My adventures in the SQL Server world
Intercettare l'esecuzione di query con Entity Framework Code First

Recentemente ho avuto la necessità di intercettare e manipolare le query generate da Entity Framework. In particolare dovevo assicurarmi che non venissero estratte dal database le entità la cui proprietà Disabled fosse true (cancellazione logica). Dalla versione 6 è possibile innestarsi nella pipeline di EntityFramework ereditando dalla classe DefaultExpressionVisitor ed eseguento l'override del metodo Visit, che si occupa di generare l'expression tree che poi verrà convertito in SQL. Sostanzialmente, se il tipo di entità ha una proprietà Disabled, imposto un filtro verificando che non sia uguale a true. Per iniettare questo comportamento nella pipeline, basta implementare l'interfaccia IDbCommandTreeInterceptor e...

posted @ martedì 16 giugno 2015 11:21 | Feedback (0) | Filed Under [ O/RM SQL Server ]

Transazioni attive su SQL Server

Recentemente  mi è tornato utile avere l’elenco delle transazioni attive con il relativo statemente T-SQL. Ecco la query che ho utilizzato: SELECT s_tst.[session_id],    s_es.[login_name] AS [Login Name],    DB_NAME (s_tdt.database_id) AS [Database],    s_tdt.[database_transaction_begin_time] AS [Begin Time],    s_tdt.[database_transaction_log_record_count] AS [Log Records],    s_tdt.[database_transaction_log_bytes_used] AS [Log Bytes],    s_tdt.[database_transaction_log_bytes_reserved] AS [Log Rsvd], ...

posted @ martedì 28 febbraio 2012 13:48 | Feedback (1) | Filed Under [ SQL Server ]

Powered by:
Powered By Subtext Powered By ASP.NET