Jako kod bazowy użyjemy obiekt encji tabeli:
Code:
klasa którą chcemy uzyskać ma następującą strukturę:
Code:
Kod mapowania:
Code:
użycie sprowadza się do wywołania metody Map na obiekcie bazowym:
Code:
Blog o tematyce związanej z platformą .NET i szeroko pojętym programowaniem. Znajdziesz tu informacje nt. platformy .NET, języka C#, wiadomości o wzorcach projektowych oraz tworzeniu poprawnej architektury oprogramowania.
public class PersonEntity { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public string Address { get; set; } }
public class PersonView { public string FullName { get; set; } public string Address { get; set; } }
public static class Mappers { public static PersonView Map(this PersonEntity personEntity) { return new PersonView { FullName = personEntity.FirstName + " " + personEntity.LastName, Address = personEntity.Address }; } }
var personEntity = new PersonEntity { Id = 1, Address = "Andrychowska 34, 10-124 Andrychów", Age = 31, FirstName = "Jan", LastName = "Kowalski" }; var pv = personEntity.Map();
$(document).ready(function() {
});
static void Main(string[] args) { var test1Context = new test1Context(); var single = test1Context.Pojazds.Single(x => x.Id == 100); var first = test1Context.Pojazds.First(x => x.Id == 100); }
SELECT TOP (2) [Extent1].[Id] AS [Id], [Extent1].[Nazwa] AS [Nazwa]FROM [dbo].[Pojazd] AS [Extent1]WHERE 100 = [Extent1].[Id]
SELECT TOP (1) [Extent1].[Id] AS [Id], [Extent1].[Nazwa] AS [Nazwa]FROM [dbo].[Pojazd] AS [Extent1]WHERE 100 = [Extent1].[Id]
static void Main(string[] args) { var test1Context = new test1Context(); test1Context.Configuration.AutoDetectChangesEnabled = false; test1Context.Configuration.ProxyCreationEnabled = false; for (int i = 0; i < 1000; i++) { var pojazd = new Pojazd {Nazwa = Guid.NewGuid().ToString()}; test1Context.Pojazds.Add(pojazd); } test1Context.SaveChanges(); }
EXEC sp_executesql N'insert [dbo].[Pojazd]([Nazwa])
values (@0)
select [Id]
from [dbo].[Pojazd]
where @@ROWCOUNT > 0 and [Id] = scope_identity()',N'@0 nchar(100)',@0=N'6dd1fb44-61d3-4fce-8ef8-4f0d61492df2
'
SELECT p.Nazwa, COUNT(1) AS 'Ilosc kól'
FROM Pojazd p JOIN Kolo k ON p.Id = k.IdPojazd
GROUP BY p.Nazwa
SELECT p.Nazwa, k.IloscFROM Pojazd p JOIN (SELECT IdPojazd, COUNT(1) 'Ilosc' FROM Kolo GROUP BY IdPojazd) AS k ON p.Id = k.IdPojazd
(8) SELECT (9) TOP
(1) FROM
(3) JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH
(7) HAVING
(1) ORDER BY