Download presentation
Presentation is loading. Please wait.
1
§2 Нововведения C# §3 Entity Framework
2
Ключевое слово var Анонимные типы Библиотека LINQ Методы расширения λ-выражения
3
1. Ключевое слово var : DataGridTextBoxColumn col = new DataGridTextBoxColumn(); String s = DateTime.Now.ToString(); var col = new DataGridTextBoxColumn(); var s = DateTime.Now.ToString();
4
2. Анонимные типы var student = new { name = “Alex”, age = 27 }; MessageBox.Show(String.Format( “{0} is {1:d} years old”, student.name, student.age));
5
3. Библиотека LINQ (Language Integrated Query) var ints = new List () { 1, -2, 3, 5, -1 }; var pts = new Point[] { new Point(0.7, 2.3), };
6
3. Библиотека LINQ (Language Integrated Query) List Positive( List list) { ??? } 1.0: задача!
7
3. Библиотека LINQ (Language Integrated Query) List Positive( List list) { var res = new List (); for (int i = 0; i < list.Count; i++) if (list[i] > 0) res.Add(list[i]); return res; } 1.1: простой C#
8
3. Библиотека LINQ (Language Integrated Query) List Positive( List list) { var res = from l in list where (l > 0) select l; return res; } 1.2: LINQ
9
3. Библиотека LINQ (Language Integrated Query) var = from in where ( ) orderby ( ) select ( );
10
3. Библиотека LINQ (Language Integrated Query) Примеры: var customers = from order in orders select order.customer; var signs = from number in numbers select (number > 0)? +1 : (number < 0)? -1 : 0;
11
3. Библиотека LINQ (Language Integrated Query) var =.Where( ).OrderBy( ).Select( );
12
3. Библиотека LINQ (Language Integrated Query) List Positive( List list) { return list.Where(l => l > 0).ToList(); } 1.3: ext. method
13
4. λ-expressions lambda-expressions (lambda-expressions) A function(B arg1, C arg2) { return f(arg1, arg2); }
14
4. λ-expressions lambda-expressions (lambda-expressions) A function(B arg1, C arg2) { return f(arg1, arg2); } (arg1, arg2) => f(arg1, arg2) λ!λ!λ!λ!
15
4. λ-expressions lambda-expressions (lambda-expressions) Общие примеры: x => x*x x 2 (x, y) => (x+y)/2 avg(x, y) a => Math.Cos(a) cos(a) () => Math.PI Π
16
4. λ-expressions lambda-expressions (lambda-expressions) Полезный пример: public class Point3D { public int x, y, z; public Point3D(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } }
17
4. λ-expressions lambda-expressions (lambda-expressions) Полезный пример: List XYZ = new List () { new int[] { 10, -4, 3 }, new int[] { 4, 56, -1 }, new int[] { -34, 0, 8 } };
18
4. λ-expressions lambda-expressions (lambda-expressions) Полезный пример: var pts = XYZ.Select(xyz => new Point3D ( xyz[0], xyz[1], xyz[2] )) ;
19
Ключевое слово var Анонимные типы Библиотека LINQ Методы расширения λ-выражения
21
Проблема: Данные != Объекты Данные: ◦ строки БД (SQL) ◦ элементы XML ◦ элементы классов ◦ … LINQ-to-SQL LINQ-to-XML LINQ-to- Entities LINQ-to-…
22
ADO.NET Entity Framework
23
◦ Context DataBase ◦ Entity Set Table ◦ Entity Row
24
SQL DB Model Entity Model
25
Работа с ADO.NET Entity Framework ◦ от модели сначала – Entity Model в дизайнере Visual Studio затем – Generate DataBase from Model ◦ от базы данных по готовой БД – Generate from DataBase
26
Добавление объекта в БД var db = new DBContext();// Context var mag = new Magazine();// Entity mag.Title = txtTitle.Text;// (fill fields) … db.AddToMagazines(mag);// (add to Entity Set) db.SaveChanges();// (save to DataBase)
27
Чтение/изменение объектов var db = new DBContext();// Context var all_mags = db.Magazines;// Full Entity Set var my_mags = db.Magazines.Where( m => m.Publisher_Id == 1); // Query (->Set) mag.Title = mag.Title.ToLower();// (modification) var mag = my_mags.FirstOrDefault( m => m.Id == 356); // Query (- >Entity) db.SaveChanges();// (save to DB!)
28
Демонстрация /* по настроению */
29
Домашнее задание на среду, 8 сентября Установить и добиться работоспособности: ◦ Microsoft Visual Studio 2010 ◦ Microsoft.NET Framework 4 ◦ Microsoft Expression Studio 4 ◦ Microsoft SQL Server 2008 R2
30
See you soon! Материалы лекции (презентации и т.п.): http://it49.by.ru/wpf/ Контакты: 8 926 949-35-75 339-097-495
32
http://DreamSpark.r u ≈ http://DreamSpark.c om
33
Командная работа над проектами Visual Studio Team Foundation Server Браузерные и внебраузерные десктоп- и веб-приложения Silverlight, WPF Публикация приложений одним кликом ClickOnce.........
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.