Presentation is loading. Please wait.

Presentation is loading. Please wait.

§2 Нововведения C# §3 Entity Framework.  Ключевое слово var  Анонимные типы  Библиотека LINQ  Методы расширения  λ-выражения.

Similar presentations


Presentation on theme: "§2 Нововведения C# §3 Entity Framework.  Ключевое слово var  Анонимные типы  Библиотека LINQ  Методы расширения  λ-выражения."— Presentation transcript:

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  Методы расширения  λ-выражения

20

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

31

32 http://DreamSpark.r u ≈ http://DreamSpark.c om

33 Командная работа над проектами Visual Studio Team Foundation Server Браузерные и внебраузерные десктоп- и веб-приложения Silverlight, WPF Публикация приложений одним кликом ClickOnce.........


Download ppt "§2 Нововведения C# §3 Entity Framework.  Ключевое слово var  Анонимные типы  Библиотека LINQ  Методы расширения  λ-выражения."

Similar presentations


Ads by Google