Upload
victor-haydin
View
1.635
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
DATABASES IN .NETVictor Haydin
Eleks Software Ltd.
Data and Databases
Computer science is not about computing.
Its about
data processing.
Database engines
Application/DB interaction
Frontend Server
Database Server
Data Access Layer
Business Logic Layer
Presentation Layer
Database drivers
Entity Framework
LINQ2SQL
NHibernate
Others
System.Data.SqlClient
ADO.Net
System.Data.SqlClient
System.Data.SqlClient – set of classes for low-level operations with MS SQL Server.
SqlConnection
SqlCommand
SqlDataReader
DEMOSQL Client
Transactions & Isolation levels
Serializable
Repeatable Reads
Read Commited
Read Uncommited
Isolation levels
Isolation level
Dirty reads
Non-repeatable reads
Phantoms
Read Uncommitted
X X XRead Committed - X XRepeatable Read - - XSerializable - - -
Isolation level
Write Lock
Read LockRange Lock
Read Uncommitted
- - -Read Committed V - -Repeatable Read V V -Serializable V V V
Read Issues Locks
ORM
Why ORM?
Relational Model:TablesRowsColumnsPrimary/Foreign keys?
Object Model:CollectionsObjectsPropertiesCompositionInheritance
ORM Frameworks
Entity Framework
LINQ2SQL
NHibernate
DevExpress XPO
Subsonic
ObjectMapper.Net
Self-made
ADO.Net Entity Framework
Design approaches:• Database First• Model First• Code First
Entity Data Model:• Mapping• Entities• Relationships• Schema Definition
Language
Querying Data:• eSQL• LINQ to Entities• Native SQL
Inheritance:• Table per hierarchy• Table per type• Table per concrete
class
DEMOEntity Framework
Canonical FunctionsCanonical functions
Aggregate functions Avg, BigCount, Count, Max, Min, StDev, StDevP, Sum, Var, VarP
Math functions Abs, Ceiling, Floor, Power, Round, Truncate
String functions Concat, Contains, EndsWith, IndexOf, Left, Length, LTrim, Replace, Reverse, Right, RTrim, Substring, StartsWith, ToLower, ToUpper, Trim
Date and Time functions AddMicroseconds, AddMilliseconds, AddSeconds, AddMinutes, AddHours, AddNanoseconds, AddDays, AddYears, CreateDateTime, AddMonths, CreateDateTimeOffset, CreateTime, CurrentDateTime, CurrentDateTimeOffset, CurrentUtcDateTime, Day, DayOfYear, DiffNanoseconds, DiffMilliseconds, DiffMicroseconds, DiffSeconds, DiffMinutes, DiffHours, DiffDays, DiffMonths, DiffYears, GetTotalOffsetMinutes, Hour, Millisecond, Minute, Month, Second, Truncate, Year
Bitwise functions BitWiseAnd, BitWiseNot, BitWiseOr, BitWiseXor
Other functions NewGuid
Q&A