آموزش سی شارپ (#C) پیشرفته قسمت 88 : بحث تکمیلی Entity Framework

در ادامه مباحث مربوط به Entity Framework به یکسری مباحث تکمیلی خواهیم پرداخت. مطالبی که در این بخش خواهیم آموخت:

  1. استفاده از enum ها در Entity ها
  2. آشنایی اولیه با نوع داده DbGeography
  3. آشنایی با مفهوم ChangeTracker و کاربرد آن در Entity Framework
  4. کاربرد Entry ها در Entity Framework
  5. آشنایی با متد AsNoTracking برای غیرفعال کردن ChangeTracker برای یک DbSet
  6. عملیات های Add و Delete و Update بوسیله Entry ها
  7. آشنایی با متدهای کاربردی کلاس DbSet
  8. آشنایی با مفهوم Object Proxy و کاربرد آن در Entity Framework
  9. مفهوم Lazy Loading در Navigation ها و ارتباط آن با Object Proxy ها
  10. استفاده از Entity Entry ها برای بارگذاری Navigation ها در صورت غیرفعال بودن Object Proxy ها
  11. آشنایی با متد Include برای بارگذاری Navigation ها با کوئری اولیه
  12. آشنایی با متد SqlQuery و ExecuteQuery در Entity Framework
  13. آشنایی با مفهوم Validation در Entity Framework
عنوان
1 آموزش سی شارپ (#C) پیشرفته قسمت 1 : مقدمه ای بر دوره متفاوت 1:31′:14″ رایگان
2 آموزش سی شارپ (#C) پیشرفته قسمت 2 : معماری دات نت و سی شارپ 39′:7″ 5,280
3 آموزش سی شارپ (#C) پیشرفته قسمت 3 : محیط Visual Studio 14′:56″ رایگان
4 آموزش سی شارپ (#C) پیشرفته قسمت 4 : ساختار برنامه ها 31′:49″ 7,040
5 آموزش سی شارپ (#C) پیشرفته قسمت 5 : انواع داده و کار با تاریخ 47′:35″ 7,040
6 آموزش سی شارپ (#C) پیشرفته قسمت 6 : رشته و آرایه 44′:29″ 7,040
7 آموزش سی شارپ (#C) پیشرفته قسمت 7 : مباحث تکمیلی OOP 25′:10″ 7,890
8 آموزش سی شارپ (#C) پیشرفته قسمت 8 : استثناء ، اینترفیس و مجموعه 44′:23″ 11,410
9 آموزش سی شارپ (#C) پیشرفته قسمت 9 : مجموعه ها (Collections) 46′:35″ 8,800
10 آموزش سی شارپ (#C) پیشرفته قسمت 10 : Delegate و Event 42′:23″ 7,890
11 آموزش سی شارپ (#C) پیشرفته 11: Lambda Expression و متدهای بی نام 26′:24″ 7,890
12 آموزش سی شارپ (#C) پیشرفته قسمت 12 : Covariance و Pointer ها 40′:43″ 13,170
13 آموزش سی شارپ (#C) پیشرفته قسمت 13 : LINQ و عملگر های آن 58′:3″ 15,840
14 آموزش سی شارپ (#C) پیشرفته قسمت 14 : Object Life Time و سرویس GC 44′:50″ 8,800
15 آموزش سی شارپ (#C) پیشرفته قسمت 15 : Windows Form Application 32′:30″ 7,040
16 آموزش سی شارپ (#C) پیشرفته قسمت 16 : Class Library 58′:52″ 14,930
17 آموزش سی شارپ (#C) پیشرفته قسمت 17 : اسمبلی های Private و Shared 35′:37″ 7,040
18 آموزش سی شارپ (#C) پیشرفته قسمت 18 : فایل config در سی شارپ 18′:26″ رایگان
19 آموزش سی شارپ (#C) پیشرفته قسمت 19 : آشنایی با Reflection یک 45′:23″ 12,320
20 آموزش سی شارپ (#C) پیشرفته قسمت 20 : آشنایی با Reflection دو 48′:1″ 13,170
21 آموزش سی شارپ (#C) پیشرفته قسمت 21 : آشنایی با Reflection سه 22′:27″ رایگان
22 آموزش سی شارپ (#C) پیشرفته قسمت 22 : آشنایی با Reflection چهار 34′:26″ 14,930
23 آموزش سی شارپ (#C) پیشرفته قسمت 23 : قابلیت Dynamic و COM Interop 43′:14″ 10,560
24 آموزش سی شارپ (#C) پیشرفته قسمت 24: گرفتن خروجی اکسل در برنامه ها 32′:47″ 10,560
25 آموزش سی شارپ (#C) پیشرفته قسمت 25 : کار با Process ها 50′:57″ 13,170
26 آموزش سی شارپ (#C) پیشرفته قسمت 26 : کار با Application Domain ها 30′:15″ رایگان
27 آموزش سی شارپ (#C) پیشرفته قسمت 27 : آشنایی با CIL 32′:37″ 8,800
28 آموزش سی شارپ (#C) پیشرفته قسمت 28 : نوشتن کد مستقیم با زبان IL 1:17′:5″ 23,730
29 آموزش سی شارپ (#C) پیشرفته قسمت 29 : Dynamic Assembly ها 28′:45″ 8,800
30 آموزش سی شارپ (#C) پیشرفته قسمت 30 : برنامه نویسی Asynchronous 35′:15″ 8,800
31 آموزش سی شارپ (#C) پیشرفته قسمت 31 : کار با System.Threading 57′:36″ 13,170
32 آموزش سی شارپ (#C) پیشرفته قسمت 32 : برنامه نویسی Parallel 32′:16″ 7,040
33 آموزش سی شارپ (#C) پیشرفته قسمت 33 : قابلیت async و await 10′:46″ رایگان
34 آموزش سی شارپ (#C) پیشرفته قسمت 34 : BackgroundWorker و Timer 21′:57″ 6,130
35 آموزش سی شارپ (#C) پیشرفته قسمت 35 : کار با فایل ها و پوشه ها 47′:12″ 12,320
36 آموزش سی شارپ (#C) پیشرفته قسمت 36 : ایجاد فایل و پوشه 39′:18″ 8,800
37 آموزش سی شارپ (#C) پیشرفته قسمت 37 : خواندن و نوشتن در فایل ها 18′:50″ رایگان
38 آموزش سی شارپ (#C) پیشرفته قسمت 38 : FileSystemWatcher 16′:33″ 6,130
39 آموزش سی شارپ (#C) پیشرفته قسمت 39 : کار با Stream ها 36′:41″ 8,800
40 آموزش سی شارپ (#C) پیشرفته قسمت 40 : قابلیت Serialization 29′:29″ 10,560
41 آموزش سی شارپ (#C) پیشرفته قسمت 41 : نوشتن برنامه دفترچه تلفن 43′:17″ 14,930
42 آموزش سی شارپ (#C) پیشرفته 42 : ارتباط با بانک اطلاعاتی (ADO.NET) 41′:59″ 14,930
43 آموزش سی شارپ (#C) پیشرفته قسمت 43 : جلوگیری از SQL Injection 20′:14″ 11,410
44 آموزش سی شارپ (#C) پیشرفته قسمت 44 : Connection String 19′:2″ 10,560
45 آموزش سی شارپ (#C) 45 : ذخیره و رمز نگاری Connection String 19′:12″ 13,170
46 آموزش سی شارپ (#C) پیشرفته قسمت 46 : Repository و کلاس Reusable 32′:13″ 10,560
47 آموزش سی شارپ (#C) پیشرفته قسمت 47 : Repository های Generic یک 55′:45″ 16,690
48 آموزش سی شارپ (#C) پیشرفته قسمت 48: ایجاد Repository های Generic 33′:54″ 11,410
49 آموزش سی شارپ (#C) پیشرفته قسمت 49: برنامه انبارداری و فروشگاه یک 14′:40″ رایگان
50 آموزش سی شارپ (#C) پیشرفته 50 : برنامه انبارداری و فروشگاه دو 57′:17″ 11,410
51 آموزش سی شارپ (#C) پیشرفته قسمت 51:برنامه انبارداری:ساختار پروژه 1:14′:53″ 14,930
52 آموزش سی شارپ (#C) پیشرفته قسمت 52 : تست Repository انبارداری 45′:33″ 10,560
53 آموزش سی شارپ (#C) پیشرفته قسمت 53 : استفاده از StructureMap 32′:58″ 9,650
54 آموزش سی شارپ (#C) پیشرفته 54 : تنظیمات اولیه برنامه انبارداری 1:8′:11″ 11,410
55 آموزش سی شارپ (#C) پیشرفته قسمت 55 : Dependency Injection 40′:20″ رایگان
56 آموزش سی شارپ (#C) پیشرفته قسمت 56:برنامه انبارداری:داده اولیه 44′:53″ 6,130
57 آموزش سی شارپ (#C) پیشرفته قسمت 57 : تاریخ شمسی در سی شارپ 19′:21″ رایگان
58 آموزش سی شارپ (#C) پیشرفته قسمت 58 : User Control 13′:10″ رایگان
59 آموزش سی شارپ (#C) پیشرفته قسمت 59:برنامه انبارداری:فرم اصلی 58′:35″ 8,800
60 آموزش سی شارپ (#C) پیشرفته قسمت 60:برنامه انبارداری:View ها 29′:22″ رایگان
61 آموزش سی شارپ (#C) پیشرفته قسمت 61:برنامه انبارداری:Action ها 26′:22″ 6,130
62 آموزش سی شارپ (#C) پیشرفته قسمت 62 : Expression Tree 35′:38″ 7,040
63 آموزش سی شارپ (#C) پیشرفته قسمت 63:برنامه انبارداری:GridView 38′:11″ 7,040
64 آموزش سی شارپ (#C) پیشرفته قسمت 64:برنامه انبارداری:فرم اطلاعات 1:17′:9″ 13,170
65 آموزش سی شارپ (#C) پیشرفته قسمت 65: عبارت OUTPUT در SQL Server 19′:32″ رایگان
66 آموزش سی شارپ (#C) پیشرفته 66:برنامه انبارداری DateTimePicker 1:4′:13″ 13,170
67 آموزش سی شارپ (#C) پیشرفته 67 : برنامه انبارداری : کنترل Dropdown 23′:8″ رایگان
68 آموزش سی شارپ (#C) پیشرفته 68: برنامه انبارداری:DateTimePicker 42′:2″ رایگان
69 آموزش سی شارپ (#C) پیشرفته قسمت 69:برنامه انبارداری:اطلاعات پایه 34′:7″ رایگان
70 آموزش سی شارپ (#C) پیشرفته قسمت 70:برنامه انبارداری:اطلاعات پایه 17′:9″ رایگان
71 آموزش سی شارپ (#C) پیشرفته قسمت 71 : کنترل TreeView 34′:11″ رایگان
72 آموزش سی شارپ (#C) پیشرفته قسمت 72 : کنترل ImageList در TreeView 8′:9″ رایگان
73 آموزش سی شارپ (#C) پیشرفته قسمت 73:برنامه انبارداری:TreeView 37′:34″ 9,650
74 آموزش سی شارپ (#C) پیشرفته قسمت 74:برنامه انبارداری:گروه های کالا 25′:15″ رایگان
75 آموزش سی شارپ (#C) پیشرفته 75 : برنامه انبارداری:پارامتر محصولات 35′:43″ رایگان
76 آموزش سی شارپ (#C) پیشرفته قسمت 75 : پارامتر محصولات 22′:35″ رایگان
77 آموزش سی شارپ (#C) پیشرفته قسمت 77: برنامه انبارداری : رسید انبار 46′:24″ رایگان
78 آموزش سی شارپ (#C) پیشرفته قسمت 78 : برنامه انبارداری : ثبت رسید 35′:19″ رایگان
79 آموزش سی شارپ (#C) پیشرفته قسمت 79 : کار با DataSet 48′:52″ 12,320
80 آموزش سی شارپ (#C) پیشرفته قسمت 80 : فیلتر بوسیله DataView 9′:9″ رایگان
81 آموزش سی شارپ (#C) پیشرفته قسمت 81 : Transaction ها در ADO.NET 12′:12″ رایگان
82 آموزش سی شارپ (#C) پیشرفته قسمت 82 : مقدمه ای بر Entity Framework 26′:7″ 8,800
83 آموزش سی شارپ (#C) پیشرفته قسمت 83 : Mapping در Entity Framework 39′:44″ 12,320
84 آموزش سی شارپ (#C) پیشرفته قسمت 84 : Data Annotations 41′:15″ 12,320
85 آموزش سی شارپ (#C) پیشرفته قسمت 85 : Fluent API 46′:16″ 12,320
86 آموزش سی شارپ (#C) پیشرفته قسمت 86 : وراثت (Inheritance) 38′:23″ رایگان
87 آموزش سی شارپ (#C) پیشرفته قسمت 87 : مباحث پیشرفته در Mapping 51′:50″ 14,080
88 آموزش سی شارپ (#C) پیشرفته قسمت 88 : بحث تکمیلی Entity Framework 1:10′:44″ رایگان
89 آموزش سی شارپ (#C) پیشرفته قسمت 89 : تغییرات روی بانک اطلاعاتی 31′:0″ 11,410
90 آموزش سی شارپ (#C) پیشرفته قسمت 90 : Concurrency و Transaction 19′:18″ رایگان
91 آموزش سی شارپ (#C) پیشرفته قسمت 91 : کار با XML و LINQ2XML 26′:18″ 10,560
92 آموزش سی شارپ (#C) پیشرفته قسمت 92: امنیت در دات سی شارپ و دات نت 29′:24″ 13,170
93 آموزش سی شارپ (#C) پیشرفته قسمت 93 : Claim ها در دات نت 31′:18″ 10,560
94 آموزش سی شارپ (#C) پیشرفته قسمت 94 : رمزنگاری در دات نت 29′:48″ 11,410
95 آموزش سی شارپ (#C) پیشرفته قسمت 95 : رمزنگاری Symmetric 45′:10″ 18,450
96 آموزش سی شارپ (#C) پیشرفته قسمت 96 : رمزنگاری Asymmetric 31′:40″ 14,930
97 آموزش سی شارپ (#C) پیشرفته قسمت 97 : Code Access Security 15′:23″ رایگان
98 آموزش سی شارپ (#C) پیشرفته قسمت 98 : آموزش WPF 45′:24″ رایگان
99 آموزش سی شارپ (#C) پیشرفته قسمت 99 : آموزش WPF 42′:11″ 12,320
100 آموزش سی شارپ (#C) پیشرفته قسمت 100 : آموزش WPF 59′:42″ 13,170
101 آموزش سی شارپ (#C) پیشرفته قسمت 101 : آموزش WPF 37′:18″ رایگان
102 آموزش سی شارپ (#C) پیشرفته قسمت 102 : آموزش WPF 1:10′:17″ 18,450
103 آموزش سی شارپ (#C) پیشرفته قسمت 103 : آموزش WPF 1:18′:54″ 18,450
104 آموزش سی شارپ (#C) پیشرفته 104: Localization Globalization در WPF 24′:37″ 11,410
105 آموزش سی شارپ (#C) پیشرفته قسمت 105 : آموزش UWP 40′:24″ رایگان
106 آموزش سی شارپ (#C) پیشرفته قسمت 106 : آموزش UWP 28′:37″ رایگان
107 آموزش سی شارپ (#C) پیشرفته قسمت 107 : آموزش UWP 21′:57″ رایگان
108 آموزش سی شارپ (#C) پیشرفته قسمت 108 : گرافیک در سی شارپ و چاپ 29′:0″ 9,650
109 آموزش سی شارپ (#C) پیشرفته قسمت 109 : برنامه نویسی شبکه 51′:45″ 14,080
110 آموزش سی شارپ (#C) پیشرفته قسمت 110 : Unit Testing و نوشتن تست 23′:24″ 9,650
111 آموزش سی شارپ (#C) پیشرفته قسمت 111 : آموزش استفاده از MEF 24′:1″ رایگان
112 آموزش سی شارپ (#C) پیشرفته قسمت 112 : Tracing و EventLog 50′:40″ 14,930
113 آموزش سی شارپ (#C) پیشرفته قسمت 113 : Performance Counters 18′:55″ رایگان
114 آموزش سی شارپ (#C) پیشرفته قسمت 114 : Windows Service 17′:14″ 7,890
115 آموزش سی شارپ (#C) پیشرفته قسمت 115 : کامپایلر دات نت (Roslyn) 1:2′:55″ 15,840
116 آموزش سی شارپ (#C) پیشرفته قسمت 116 : Deploy برنامه ها 43′:46″ رایگان
زمان و قیمت کل 72:17′:18″ 876,130
3 نظر
سعید احمدوند

با سلام خدمت مهندس احمدی عزیز. آقا دست گُلت درد نکنه چقد منتظر مبحث entity framework بودم واقعاٌ گل کاشتی. اگه امکانش هست لابه لای این دوره یه آموزش هم برا Identity در Mvc یه کلیپ تهیه کنید ، واقعاٌ عالی میشه. خیلی لنگ این Identity هستم. دمتتتتتتتتتتت داغ

ابوالفضل رهنما

سلام

مهندس با توجه به فیلم اموزشی فرض کنیم دوکلاس زیر را داریم

 public class Customer
    {
        public int CustomerIdId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Country { get; set; }
        public string State { get; set; }
        public string City { get; set; }
        public virtual ICollection<Order> Orders { get; set; }
    }
	
	
	public class Order
    {
        public int OrderId { get; set; }
        public virtual Customer Customer { get; set; }
        public int CustomerId { get; set; }
        public DateTime? DateTime { get; set; }
    }

و

 public class PrimaryKeyConvention : Convention
    {
        public PrimaryKeyConvention()
        {
            this.Properties().Where(p => p.Name.EndsWith("Id")).Configure(p => p.IsKey());
        }
    }

اما با توجه به اینکه در کلاس Order دوتا پراترتی داریم به Id ختم می شود ایا می شود کد را طوری تغییر داد که

پراپرتی اولی که به Id ختم میشود کلید اصلی جدول باشد

یا پراپرتی که نام ان با نام جدول مورد نظر شروع شده باشد کلید اصلی جدول باشد

باتشکر

حسین احمدی

سلام ابوالفضل جان، Convention رو به صورت زیر تغییر بدی Property هایی رو در نظر میگیره که با نام Entity شروع بشه و به Id ختم بشه:

public class PrimaryKeyConvention : Convention
{
    public PrimaryKeyConvention()
    {
        Properties().Where(p =>
        {
            return p.Name.EndsWith("Id") && p.Name.StartsWith(p.DeclaringType.Name);
        }).Configure(p => p.IsKey());
    }
}
نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....