Automatyczna walidacja parametrów akcji

W internecie znaleźć można mnóstwo sposobów na zwalidowanie modelu. Moim zdaniem najlepszym sposobem jest zastosowanie atrybutów z przestrzeni System.ComponentModel.DataAnnotations, ponieważ walidacja odbywa się samoczynnie. Niestety kiedy te same atrybuty wykorzystamy do parametrów akcji, to już tak automagicznie nie jest. W tym poście zaprezentuję problem oraz pokażę jak można sobie z nim poradzić.
Continue reading

Entity Framework SQL query tracer

Niejednokrotnie potrzebujemy podejrzeć zapytanie SQL wygenerowane przez EF. Często zdarza się, że takie zapytanie chcemy odpalić na bazie danych i zobaczyć wynik. Można wtedy podpiąć się profilerem do bazy i przechwycić je w całości. Niestety takie rozwiązanie jest bardzo czasochłonne. Można też wywołać metodę ToString() na obiekcie typu IQuarable, jednakże to rozwiązanie dostarczy nam zapytanie SQL bez parametrów filtrujących. W tym artykule opiszę jak bezpośrednio w kodzie uzyskać pełne zapytanie SQL wraz z parametrami filtrującymi.
Continue reading

SelfInstaller, czyli samoinstalująca się usługa

Jakiś czas temu opisałem jak utowrzyć instalator dla uslugi Windows w środowisku Visual Studio. Jest to sposób dość skomplikowany i czasochłonny. Z drugiej strony daje duże możliwości konfiguracyjne i rozszerzające. Nie o tym jednak. W niniejszym artykule opisuję jak zainstalować usługę Windows wyłącznie za pomoca kodu.
Continue reading

Full-Text Search – zadawanie zapytań

W poprzednim artykule została opisana instalacja i konfiguracja wyszukiwania pełnotekstowego dla języka polskiego. Do całości rozwiązania brakowało jednak sposobu zadawania zapytań na indeks FTS, co opisałem w tym artykule.

Zadawać zapytania można tylko na kolumnach o typie tekstowym (char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary). Można to zrealizować na dwa sposoby. Pierwszy z nich wykorzystuje predykaty CONTAINS oraz FREETEXT. Druga metoda wykorzystuje funkcje CONTAINSTABLE oraz FREETEXTTABLE.
Continue reading

Full-Text Search – instalacja i konfiguracja

Wyszukiwanie pełnotekstowe, to mechanizm wydajnego przeszukiwania kolumn o charakterze tekstowym. W tym celu zakładany jest specjalny indeks na tabeli, która ma zostać przeszukana. Zapytania wykonywane na takim indeksie pozwalają dokonać językowego przeszukiwania opartego na regułach określonego języka. Zwrócone rezultaty, to obiekty zawierające przynajmniej jedno dopasowanie (tzw. hit). Poniżej został opsiany proces instalacji oraz konfiguracji polskich narzędzi do Full-Text Search na przykładzie Microsoft SQL Server.
Continue reading

Web user control (ascx)

Kontrolka użytkownika (web user control) jest komponentem, który działa bardzo podobnie do zwykłej strony ASP.NET. Elementy, metody oraz akcje definiuje się zupełnie identycznie. Różnica jest taka, że kontrolki ascx umieszcza się na stronach aspx. Jest to świetny sposób na zgromadzenie w oddzielnym pliku współpracujących ze sobą kontrolek, a co za tym idzie odseparowanie ich zdarzeń od pozostałej logiki. Artykuł ten opisuje, jak w łatwy i szybki sposób zbudować i następnie korzystać z dwóch kontrolek użytkownika: UpDownControl oraz DatePickerControl. Do ich stworzenia wykorzystałem jQuery UI oraz AjaxControlToolkit. Pominąłem opis konfiguracji i deklaracji skryptów z tychże bibliotek.
Continue reading