Wykorzystanie Automappera ma swoje uzasadnienie i często-gęsto można je uznać za "kod pożądany". Pomimo swych zalet ma jednak również wady. Jedną z nich są z pewnością dość długaśne instrukcje wykonujące mapowanie: 1: var mapped = Mapper.Map, IEnumerable>(source);
Bazy danych i XML 3545 dni, 3 godziny, 9 minut temu 119 źrodło rozwiń
Autor: Dość dawno już temu pokazałem jak można użyć Automapper do mapowania kolekcji bez powodowania ciągnięcia ich zawartości z bazy: "AutoMapper, NHibernate, lazy loading oraz problem select n+1". Dzisiaj wrócę na chwilę do tematu Automappera i NH.
Bazy danych i XML 3553 dni, 7 godzin, 19 minut temu 159 źrodło rozwiń
W zeszłym tygodniu podjąłem próbę zaprzęgnięcia Resource Governora (dalej zwanego RG) w służbie moim potrzebom administracyjnym. Konkretnie, chodziło o to, by dla dobrze określonego zbioru kroków z zadań (jobów) SQL Server Agenta narzucać odpowiedni MAXDOP. Zacząłem od zbadania, czy w ogóle jest o co walczyć – to znaczy, czy jestem w stanie ...
Bazy danych i XML 3555 dni, 11 godzin, 51 minut temu 51 źrodło rozwiń
« [PL] SQL Server dla DBA – sys.dmosperformancecounters[PL] Materiały z sesji o XML z 53. spotkania PLSSUG WarszawaVN:F [1.7.91023]please wait…Rating: 0.0/5 (0 votes cast) W czwartek, 7 kwietnia, Paweł Skolimowski poprowadził prezentację pt. “Niechaj Cię nie onieśmiela gąszcz misterny XML-a” w ramach 53. spotkania Polskiej Grupy Użytkowników SQL Server (PLSSUG). Prezentacja wypadła, moim zdaniem, znakomicie. Paweł przygotował profesjonalne slajdy (zmieniające się jak w kalejdoskopie kolorowanie składn...
Bazy danych i XML 3562 dni, 7 godzin, 12 minut temu 72 źrodło rozwiń
Optymalizacja procedur składowanych czy zwykłych zapytań do bazy danych nie jest zadaniem wdzięcznym, ale potrafi dać bardzo wiele satysfakcji. Kto doświadczył zoptymalizowania działania jakiegoś potworka w taki sposób, że po pół godziny pracy czas wykonania spada z 2 minut do 1 sekundy, wie doskonale o czym mówię. A jak uda się tego dokonać bez grzebania się w indeksach to już w ogóle cud/miód/itd. Wtedy z kolei ten, kto to zapytanie pisał oryginalnie, zasługuje na siarczystego liścia... ale akurat w mo...
Bazy danych i XML 3578 dni, 13 godzin, 29 minut temu 133 źrodło rozwiń
Klauzula GROUP BY służy do uzyskiwania szczegółowych danych na grupach wierszy takich jakilośćminimummaksimumsumaśrednia Przykładowa składania na naszych danych:SELECT Nazwisko, COUNT(Nazwisko) AS Ilość FROM Osoba GROUP BY Nazwisko Powyższe zapytanie zwróci ilość wystąpień konkretnego nazwiska w naszej tabeli Innym przykładem użycia może być na przykład wskazanie COUNT, GROUP BY, tsql
Bazy danych i XML 3578 dni, 13 godzin, 29 minut temu 83 źrodło rozwiń
W poprzednim poście przybliżyłem nieco ideę zamieszczania w kodzie .NET transakcji. W tej odsłonie postaram się skupić na zagadnieniach nieco bardziej praktycznych. Z góry zapowiadam, że ze względu na ilość materiału ukaże się co najmniej jeszcze jedna odsłona. Jeśli chodzi o transakcje w ADO.NET, uwagę należy tutaj skupić na klasie SqlTransaction. Transakcję ropoczynamy wywołując na obiekcie SqlConnection metodę BeginTransa...
Bazy danych i XML 3582 dni, 6 godzin, 49 minut temu 128 źrodło rozwiń
autor: W nawiązaniu do mojego poprzedniego wpisu na blogu muszę niestety zlożyć małe sprostowanie. Tak zachwalałem zalety umieszczania serwisu na serwerze IIS, że uciekło mi to, że niestety z pomocą Visual Web Developer 2010 Express nie jest możliwe w tym przypadku debugowanie kodu. Wersja ta nie posiada bowiem bardzo ważnej opcji, jaką jest “Atach to process…”. Być może debugowanie z użyciem IIS tym razem w wersji Expres...
Bazy danych i XML 3582 dni, 12 godzin, 15 minut temu 124 źrodło rozwiń
Światy: obiektowy i relacyjny nie pasują do siebie. Dlatego tak popularne są mappery obiektowo-relacyjne, dzięki którym życie staje się łatwiejsze. Ale jaki mapper wybrać?
Bazy danych i XML 3590 dni, 3 godziny, 32 minuty temu 199 źrodło rozwiń
Witam pod długiej przerwie, dzięki za maile i pytania. Cieszę się, że blog ma aż takie zainteresowanie. Dzisiaj omówię banalnie prostą, ale często bardzo przydatną pod czas pisania zapytań klauzulę DISTINCT. Ma ona na celu wyeliminowanie z wyniku zapytania zdublowanych wierszy. Nie jest ważne czy wiersz składa się z jednego, czy więcej pól. Po prostu usuwa duble. Przykład użycia bez klauzuli DISTINCT: SELECT Nazwisko FROM NowaBaza.dbo.Osoba W wyniku pojawi się dwa razy nazwisko Czajka, Nowak oraz No...
Bazy danych i XML 3596 dni, 3 godziny, 28 minut temu 143 źrodło rozwiń
autor: Ostatnio, podczas pracy z Unity 2.0 postanowiłem zaszaleć. Zamiast pisać klasę Bootstrapper’a i mapować implementacje na interfejsy w kodzie programu, zapragnąłem skonfigurować Unity przy pomocy pliku App.config. Dla niezorientowanych. Unity to kontener IoC od Microsoftu dostarczany razem z Enterprise Library. Proces konfiguracji Unity jest w miarę prosty. Ogranicza się do zdefiniowania aliasów, czyli skróconych nazw interfej...
Bazy danych i XML 3606 dni, 7 godzin, 27 minut temu 110 źrodło rozwiń
SQL Server Management Objects (SMO) zbiór bibliotek, a w nich klas dla platformy .NET, pozwalające na łatwe i proste zarządzanie bazą danych Microsoft SQL Server z poziomu kodu programu .NET (np. w językach takich jak C#, VB i innych). Zostały one wprowadzone po raz pierwszy z bazą danych Microsoft SQL Server 2005 (włącznie z wersją Express). Dostępne są również biblioteki SMO dla bazy danych MS SQL 2008. Dzięki wykorzystaniu SMO, można opracowywać aplikacji o funkcjonalności podobnej do Microsoft SQL ...
Bazy danych i XML 3606 dni, 23 godziny, 41 minut temu 43 źrodło rozwiń
Dzięki wykorzystaniu SMO (jeśli nie wiesz co to – przeczytaj wpis pt.:"Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)") można w prosty sposób wykonywać wiele operacji na bazie danych Ms SQL. Jedną z takich operacji może być usuwanie elementów bazy danych. W większości przypadków wystarczy na wybranym elemencie z bazy danych wykonać proste Drop, jednak nie zawsze musi się to udać.Taki przypadek może mieć właśnie miejsce z tabelami. Załóżmy, że chcemy usunąć wybraną tabelę...
Bazy danych i XML 3616 dni, 7 godzin, 27 minut temu 26 źrodło rozwiń
W VS 2010 możemy dodać Local Database do naszego projektu... Gdybyśmy teraz chcieli ją wykorzystać z poziomu SQL Server CE 4.0 to najprawdopodobniej dostaniemy taki o to błąd: The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method. Jest to spowodowane tym, iż dopiero VS 2010 SP1 będzie wspierał CE w wersji 4.0.
Bazy danych i XML 3616 dni, 7 godzin, 59 minut temu 87 źrodło rozwiń
Autor: We wpisie pt.: "Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)" przedstawiłem, jak można na podstawie DataSet'a stworzyć odpowiadającą mu bazę danych. Niestety nie wszystko zostało tam opisane i wykonane prawidłowo, o czym pisałem już we wpisie „Klucze obce, a relacje w DataSet'cie”. Kolejnym elementem, który wymaga dodania są ograniczenia (Constrains), a w szczególności ten wymuszający unikalność UniqueConstraint.Otóż tabela w DataSet'cie przechowuje informacje ...
Bazy danych i XML 3617 dni, 18 godzin, 4 minuty temu 37 źrodło rozwiń
We wpisie pt.: "Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)" przedstawiłem, jak można na podstawie DataSet'a stworzyć odpowiadającą mu bazę danych. Niestety wkradł się tam pewien „brak”. Mianowicie część relacji pomiędzy tabelami zostało pominiętych – w wytworzonych tabelach nie zostały wykorzystane klucze obce. Otóż dla każdej tabeli (DataTable) w DataSet'cie dostępne są relacje typu dzieci (właściwość ChildRelations) i rodzice (właściwość ParentRelations). Relacje...
Bazy danych i XML 3619 dni, 17 godzin, 59 minut temu 66 źrodło rozwiń
Dzisiaj przedstawię kilka przykładów użycia jednego z najbardziej podstawowych poleceń języka T-SQL czyli SELECT. Zakładam, że wykonaliście polecenia z poprzednich wpisów, ponieważ dzisiaj na ich wyniku będziemy działać. Otwieramy nowe zapytanie w SSMS – New Query i piszemy USE NowaBaza GO SELECT * FROM Osoba Uzyskamy w ten sposób całą zawartość naszej tabeli Osoba. (Po wciśnięciu Execute lub F5) Klauzula WHERE Jeżeli chcemy zaś ograniczyć zwrócone wiersze o pewien warunek dopisujemy klauzulę WHERE...
Bazy danych i XML 3623 dni, 23 godziny, 44 minuty temu 58 źrodło rozwiń
W komentarzu do poprzedniego posta („SMO: sprawdzanie dostępnych serwerów MS SQL i automatyczna konstrukcja ConnectionString”), Paweł Łukasik (Pawlos) zapytał, czy jest jakaś różnica pomiędzy ServerConnection a SqlConnectionStringBuilder jeśli chodzi o tworzenie connection stringa? Przyjrzyjmy się temu tematowi trochę bliżej.W ramach .Net Framework dostępna jest klasa System.Data.Common.DbConnectionStringBuilder, która jest bazową klasą dla innych klas specjalistycznych (dla konkretnego typu bazy danych...
Bazy danych i XML 3624 dni, 11 godzin, 31 minut temu 65 źrodło rozwiń
Optymalizacja i inne ficzery, zachęcam do zapoznania się http://sqlday.pl/lang/pl-pl/materialy Kto nic nie zrozumiał, niech się nie martwi. W przyszłości poruszymy tematy poruszane na SQL Day 2010 Ten wpis został opublikowany dnia 6 lutego 2011, 20:21 i został umieszczony w SQL Server. Możesz odpowiedzieć na niego poprzez RSS 2.0. Możesz zostawić komentarz lub trackbacka ze swojej strony.
Bazy danych i XML 3626 dni, 18 godzin, 24 minuty temu 54 źrodło rozwiń
Niezbędną kwestią jaką bezwzględnie trzeba opanować do perfekcji jest manipulacja danymi, czyli tak zwane operacje CRUD: CREATE (Insert) READ (Select) UPDATE DELETE Polecenie INSERT Do wstawienia danych do tabeli służy polecenie INSERT (ang. wstawiać) Jego podstawowa składnia wygląda następująco: INSERT [NazwaTabeli] (NazwaKolumny1, NazwaKolumny2, NazwaKolumny3) VALUES ('Wartość1, Wartość2, Wartość3) gdzie ilość wpisanych kolumn musi odpowiadać ilości wpisanych wartości. Należy pamiętać, że wartości...
Bazy danych i XML 3629 dni, 19 godzin, 24 minuty temu 93 źrodło rozwiń