martedì 20 dicembre 2011 #

EF4 utilizzare l'objectStateManager per recuperare entita non ancora salvate sul database

Un'extension che vi potrebbe tornar utile 

Il codice che segue ritorna tutte le entita che non sono state salvate sul database

1: public static class StateManagerExtensions

   2: {
   3: public static IEnumerable<T> GetEntities<T>(this ObjectStateManager manager)
   4:     {
   5:     var entities = manager
   6:     .GetObjectStateEntries(EntityState.Detached)
   7:     .Where(entry => !entry.IsRelationship && entry.Entity != null)
   8:     .Select(entry => entry.Entity).OfType<T>();
   9:     return entities;
  10:     }
  11: }

Tags ; Entity framework 4, ObjectStateManager

posted @ lunedì 1 gennaio 0001 00:00

WPF WebBrowser disabilitare la visualizzazione degli errori

Quando utilizziamo il controllo Webbrowser in WPF (System.Windows.Controls.WebBrowser) non abbiamo la proprietà SuppressScriptErrors come per la versione Windows form (System.Windows.Forms.WebBrowser ) .

La proprietà SuppressScriptErrors  della versione Windows froms permette di visualizzare o nascondere gli errori legati agli script nella pagina .

Possiamo avere lo stesso comportamento nella versione WPF tramite reflection  , cosi

public void SuppressScriptErrors(System.Windows.Controls.WebBrowser wb, bool Show)
{
    FieldInfo fi = typeof(System.Windows.Controls.WebBrowser).GetField(
        "_axIWebBrowser2",
        BindingFlags.Instance | BindingFlags.NonPublic);
   
    if (fi != null)
    {
        object browser = fi.GetValue(wb);
   
        if (browser != null)
        {
            browser.GetType().InvokeMember("Silent", BindingFlags.SetProperty,  null,browser, new object[] { Show});
   
        }
    }
}

posted @ lunedì 1 gennaio 0001 00:00