loading...
 

شاپ کیپر

شاپ کیپر

  1. شاپ کیپر
  2. ASP-ASP.net-Access-MSSQL

.

لینک مقاله : http://www.vaniait.com/Articles/entity-framework-6-code-first-part1-63
در بخش مقدمه با واژگان و نحوه ی کار entity framework آشنا شدیم و متوجه شدیم چرا باید از این تکنولوژی استفاده کنیم. حال در بخش اول سری مقالات «آموزش Entity Framework 6 Code First» وارد ویژوال استودیو شده و پروژه ی «دانشگاه وانیا» را شروع می کنیم.


ایجاد پروژه MVC
مانند هر پروژه ای ویژوال استودیو را اجرا و از منوی File>New>Project را انتخاب و از پنجره ای که باز می شود ، زیر منوی Visual C# و سپس زیر منوی Web را انتخاب می کنیم و در قسمت پایین نام پروژه ی خود را وارد می نمایید که ما در اینجا نام VaniaUniversity را برگزیدیم. (مانند شکل ۱-۱)






شکل شماره ۱-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


پنجره ی مرحله ی بعدی نوع پروژه است که شما می بایست MVC را انتخاب کنید (مانند شکل شماره ۱-۲)








شکل شماره ۲-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


و سپس روی گزینه ی Change Authentication کلیک کرده تا سطح دسترسی کل پروژه را معین نماییم.


که ما در اینجا گزینه ی No Authentication را بر میگزینیم. (شکل ۱-۳ و ۱-۴)








چنانچه با پنجره ای دیگر مواجه شدید بر روی متن No Thanks.... کلیک کنید





سپس بر روی OK کلیک کرده و منتظر می مانیم تا پروژه بارگذاری شود. همانگونه که در شکل ۱-۶ نیز مشاهده می شود ویژوال استودیو یکسری فایل و محتوا را به صورت پیشفرض برایمان ایجاد کرده. حتی امکان ثبت نام نیز وجود دارد! اما ما میخواهیم از همین اول راه خودمان را برویم و همزمان که بر روی EF کار می کنیم بر روی مواردی که لازمه ی یک سایت دانشگاهی است نیز تمرکز می نماییم. پس تغییرات را از همین قدم انجام میدهیم. از قسمت Solution Explorer به دنبال فایل _Layout.cshtml (مطابق شکل ۱-۶) می گردیم و آن را باز می کنیم.


شکل شماره ۴-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


شکل شماره ۶-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


پیشنهاد می کنم قبل از هرگونه تغییر یکبار پروژه را بیلد و ران کنید تا پس از اعمال تغییرات ، متوجه آن شوید.


CTRL + Shift+ B و سپس CTRL + F5



حال تغییرات خود را مطابق کدهای زیر اعمال می نماییم.

کد: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@ViewBag.Title - دانشگاه آموزشی وانیا</title> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> @Html.ActionLink("دانشگاه وانیا", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" }) </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("صفحه اول", "Index", "Home")</li> <li>@Html.ActionLink("درباره وانیا", "About", "Home")</li> <li>@Html.ActionLink("دانشجویان", "Index", "Student")</li> <li>@Html.ActionLink("اساتید", "Index", "Instructors")</li> <li>@Html.ActionLink("دوره ها", "Index", "Course")</li> <li>@Html.ActionLink("گروه های آموزشی", "Index", "Department")</li> </ul> </div> </div> </div> <div class="container body-content"> @RenderBody() <hr /> <footer> <p>&copy; @DateTime.Now.Year - VaniaIT.Com </p> </footer> </div> @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false) </body> </html>


در کتاب قبلی درخصوص نحوه ی لینک دهی صحبت کردیم اما برای تکمیل مبحث در اینجا نیز توضیح خواهیم داد



خط ۶ - ما در این خط تنها عنوانی استاتیک برای صفحات سایت اضافه کردیم .خط ۱۹ - در عموم سایت ها وقتی روی نام سایت (در منو) و یا لوگو کلیک کنید وارد صفحه ی اصلی می شوید. ما در اینجا نیز تنها عنوانی که نمایش داده می شود را تغییر دادیمخطوط ۲۳ الی ۲۸ - منوهایمان را مطابق نیاز تغییر دادیم. خاصیت @html.actionlink در اینجا وظیفه ی لینک دهی داینامیک را برعهده دارد. این خاصیت دارای چندین خاصیت متفاوت و متعدد است که در حال حاضر تنها سه تای آنها را مورد استفاده قرار دادیم. در اولین کوتیشن ما عنوانی را که می خواهیم نمایش دهیم را می نویسیم. کوتیشن دوم مدلی است که از یک کنترلر که در کوتیشن سوم تعیین کرده ایم فراخوانی می شود. به زبانی دیگر از سمت چپ به راست اینگونه خوانده می شود : وقتی روی این متن کلیک شد برو برام ایندکس رو از کنترلر Student بخون و کاربر رو به اون صفحه هدایت کن


پس از اجرا با صفحه ای مانند شکل ۱-۷ مواحه خواهیم شد





شکل شماره ۷-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )[/caption]


به ویژوال استودیو بازگشته و شروع کار با Entity Framework را آغاز می نماییم. برای شروع نیز می بایست انتیتی فریمورک را نصب کنیم. برای نصب از منوی Tools>Nuget Package Manager>Package Manager Console را انتخاب می نماییم.





شکل شماره ۸-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )

از کنسول باز شده باید انتیتی را از گالری نوگت نصب کنیم. برای این کار نیاز است تا به اینترنت متصل باشیم و فرمان زیر را تایپ نماییم.


کد: Install-Package EntityFramework




شکل شماره ۹-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


همانگونه که متوجه می شوید پس از چند دقیقه فولدر رفرنسی که در سمت راست ویژوال استودیو وجود دارد باز شده و EF را اضافه می کند. چنانچه دسترسی به اینترنت ندارید می توانید این فایل DLL را از انتهای همین مطلب به صورت مجزا دانلود و به صورت دستی به پروژه اضافه نمایید.


[blockquote author="nuget.org"]جهت اطلاع از آخرین نسخه ی Entity Framework و دانلود آن می توانید به گالری NuGet در آدرس https://www.nuget.org/packages/EntityFramework مراجعه نمایید.[/blockquote]


حال شروع می کنیم به کلاس نویسی. اما قبل از آن نگاهی بیاندازیم به آنچه قرار است اتفاق بیفتد


ما سه کلاس اصلی با نام های Course و Enrollment و Student خواهیم داشت که هر سه به یکدیگر متصل هستند یعنی دانشجویان به نام نویسی و دوره ها نیز به نام نویسی







شکل شماره ۱۰-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )






ایجاد دیتا مدل ها


برای ایجاد دیتا مدل می بایست بر روی فولدر Models رایت کلیک کرده و از گزینه ی Add گزینه ی Class را انتخاب نماییم






شکل شماره ۱۱-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


ما اولین دیتامدل یعنی Student را ایجاد می نماییم






شکل شماره ۱۲-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )




پس از ایجاد این دیتامدل باز شده و شروع به کدنویسی می نماییم. برای این مدل ما نیاز داریم تا اطلاعات اولیه ی دانشجو را در این جدول ذخیره کنیم. کدهای زیر را می نویسیم


کد: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace VaniaUniversity.Models { public class Student { public int ID { get; set; } public string LastName { get; set; } public string FirstName { get; set; } public DateTime EnrollmentDate { get; set; } public virtual ICollection<Enrollment> Enrollments { get; set; } } }
خب، نگران نباشید الان همه ی خطوط را توضیح خواهیم داد :دی

خطوط ۱۰ الی ۱۳ ما فیلدهایی را که برای این جدول لازم است را تعریف کرده ایم. و هرکدام را نیز برابر Datatypeی قرار داده ایم.خط ۱۰ فیلد آی دی اختصاصی جدول است که نوع INT و پراپرتری ID انتخاب نموده ایم . در آینده ای نزدیک به خصوصیت GUID شما را آشنا می کنیم و خواهید فهمید که آی دی را بهتر است از این نوع انتخاب کنیم. این فیلد کلید خارجی این کلاس می باشد.خط ۱۱ نام فامیل دانشجو می باشد که از نوع رشته استخط ۱۲ نام دانشجو می باشد که از نوع رشته است.خط ۱۳ تاریخ نام نویسی دانشجو می باشد که از نوع تاریخ است.خط ۱۵ نیز کالکشنی از Enrollmentی است که از دیتا مدلی تحت همین نام فراخوانی می شود. یعنی ما یک دیتا مدلی داریم که در این دیتامدل حاضر یعنی Student فراخوانی می شوند. به زبان دیگر این دو کلاس با یکدیگر ارتباط (relation) دارند. وظیفه ی این خط Navigation Property است، Navigation Property وظیفه ی نگهداری داده هایی را بر عهده دارند که در یک دیتا مدل دیگر کارایی دارند. در این پروژه خصوصیت Enrollments که در همین کلاس Student وجود دارد ، وظیفه ی نگهداری اطلاعات موجود در کلاس Enrollment را بر عهده دارد.شما در خط ۱۵ به جای Enrollments هر اسم خاص دیگری نیز می توانید قرار دهید. ما تنها برای اینکه بدانیم این خصوصیت مربوط به چه چیزی است و هم نام ان نیز نباشد تنها یک "S" به انتهای آن اضافه کردیم. شما هر اسمی که خواستید می توانید بر روی آن بگذارید. این نام قرارداد شماست! (شکل ۱-۱۳ شماره ی ۲)عموماً Navigation properties از نوع virtual ساخته می شوند که از توابع هسته ی مرکزی EF مورد استفاده واقع می شوند، مانند lazy loading. جهت اطلاعات بیشتر در این خصوص پیشنهاد می شود این مقاله را مطالعه نمایید.
[/icon_list] [blockquote author="مرتضی پورمحمد"]فرض کنید شما یک کمبوباکس دارید که نام کشورها در آن قرار دارد و در کمبوباکس دیگر نام شهرها. زمانیکه شما نام یک کشور را انتخاب می کنید می بایست نام شهرهای آن کشور در کمبوباکس دیگر نمایش داده شوند. دیتامدل اولی نام کشورها و آی دی یونیک آنها قرار دارد و همچنین کدی که نشان دهنده ی ارتباط این کلاس با کلاس شهرهاست. به این کد ما Navigation Property می گوییم.[/blockquote] چون ما هنوز کلاس های دیگر را نساختیم ممکن است زیر نام Enrollment یک خط قرمز خطا کشیده شده باشد (شکل ۱-۱۳ شماره یک) [caption id="attachment_2112" align="alignnone" width="573"]








شکل شماره ۱۳-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )


نگران این خط قرمز نباشید. اگر شما قبلاً این کلاس را ساخته باشید به صورت اینتلیسنس وقتی حرف اول را تایپ کنید ، نام کلاس را برایتان می آورد.


حال به ساخت دو کلاس دیگر یعنی دیتامدل Enrollment و Course می پردازیم.


کدهای زیر مربوط به دیتا مدل Enrollment می باشد. این کلاس را نیز مانند کلاس قبلی ایجاد می کنیم
کد: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace VaniaUniversity.Models { public enum Grade { A, B, C, D, E } public class Enrollment { public int EnrollmentID { get; set; } public int CourseID { get; set; } public int StudentID { get; set; } public Grade? Grade { get; set; } public virtual Course Course { get; set; } public virtual Student Student { get; set; } } }
توضیحات مربوط به این کلاس نیز به شرح زیر می باشد



دو کلاس دیگر با این کلاس ارتباط یک به چند دارند. به همین علت دو خاصیت INT می نویسیم که دو کلاس دیگر را معرفی می کنند . خطوط ۱۶ و ۱۷ما در خط ۹ خاصیتی تحت عنوان Grade از نوع enum ایجاد کردیم و ۵ خاصیت استاتیک را به این خاصیت اختصاص دادیم تا در خط ۱۸ از اینها استفاده کنیم. Enum نوع داده شمارشی جهت تعاریف مقادیر ثابت و قابل شمارش در برنامه می باشد که بسیار کاربرد دارد.دقت داشته باشید که در خط ۱۱ بنده اشتباه نکرد و مطمئناً کمی انگلیسی بلد هستم :دی و میدانم که بعد از D حرف Eقرار دارد، اما چون e یک حرف قراردادیست در اینجا نمی توانم از آن استفاده کنم .در خط ۱۸ نیز این Grade را فراخوانی کرده و نام ان را نیز Grade قرار دادیم. اما جلوی Grade یک علامت سوال قرار دادیم که به معنای Nullable بودن است. یعنی کاربر می تواند آن را پر نکند و خالی بگذارد.خط ۲۰ کلید خارجی ای است برای دیتا مدل کلاس Courseخط ۲۱ کلید خارجی ای است برای دیتا مدل کلاس Student


و در نهایت ایجاد دیتا مدل Course. کدهای زیر مربوط به این کلاس می باشد
کد: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; namespace VaniaUniversity.Models { public class Course { [DatabaseGenerated(DatabaseGeneratedOption.None)] public int CourseID { get; set; } public string Title { get; set; } public int Credits { get; set; } public virtual ICollection<Enrollment> Enrollments { get; set; } } }
توضیحات مربوط به این کلاس نیز به شرح زیر می باشد:



خط ۱۸ خصوصیت Navigation Property مربوط به کلاس Enrollment است که بالاتر درباره ی آن صحبت شد. داده های این کلاس (Course) باید بتونن با چند داده از Enrollment ارتباط داشته باشند. یعنی کلاس Course با کلاس Enrollment ارتباط یک به چند دارد. یعنی تعدادی از دیتاهای کلاس Enrollment در کلاس Course موجودیت می یابد.خط ۱۳ درباره ی خصوصیت DatabaseGenerated می باشد. در این مقاله مفصل صحبت شده است و ما در آینده نیز به آن خواهیم پرداخت. اما در حال حاضر این را باید بگوییم که برای اجرای درست این خصوصیت نیاز است تا دو فضای نامی (namespace) یا همان using ها را به کلاس اضافه کنیم که ما در خطوط ۵ و ۶ این کار را انجام داده ایم. همچنین DatabaseGenerated جهت معرفی پراپرتی به عنوان Primary Key استفاده می شود. یعنی این خاصیت به پروژه می گوید که خط ۱۴ را PK برای کلاس Course معرفی نماید تا این ملاس بتواند دیتابیس را ایجاد نماید.

ایجاد Database Context


بنده در کتاب قبلی یعنی « آموزش MVC 5 » به شما گفتم که در پایان هر کلاس می بایست دیتاست را ایجاد کرده تا کلاس و دیتابیس ایجاد شود. اما این روند بسیار مبتدیانه است. اینگونه شما به اضای هر کلاس یک دیتابیس خواهید داشت! اگر همان پروژه را نگاه کنید متوجه می شوید که ۷-۸ دیتابیس وجود دارد. که خود این کلی مشکل داشت. فرض کنید شما یک ویو دارید و می خواهید از دو دیتامدل مختلف کمک بگیرید ، اگر از شیوه ی قدیم استفاده کنید هنگام Scaffold با ارور مواجه می شوید . برای همین می بایست تمامی دیتامدل ها را در یک کلاس جداگانه قرار داده و تمامی دیتاست ها را در این کلاس معرفی و تنظیم نماییم. (شکل ۱-۱۴)











Dbcontext | Database Context mvc 5





شکل شماره ۱۴-۱ ( جهت مشاهده عکس در سایز اصلی بر روی آن کلیک کنید )[/caption]


ادامه متن را در لینک اصلی بخوانید
لینک مقاله : http://www.vaniait.com/Articles/enti...first-part1-63

درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 7 يكشنبه 01 تير 1399 زمان : ۰۵:۳۰ نظرات (0)
سلام . من میخوام محتویات دیتابیس رو درون کنترل Radgrid که کنترل تلریک هست نشون بدم . اما با دیتاتیل ، یعنی مثلا با این کد

کد: System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("select * from table;", "connectionString..."); System.Data.DataTable table = new DataTable(); adapter.Fill(table);[/

چیزی که میخوام اینکه ، بعد که اطلاعات رو نمایش داد دکمه ویرایش داشته باشه ، حذف داشته باشه ، و یک دکمه هم برای افزودن . و این افزودن اطلاعات هم از داخل همون کنترل Radgrid صورت بگیره . یعنی اگر گرید 4 تا ستون داشته باشه ، اخرین سطر یه سطر خالی باشه که بتونم هر 4 فیلد رو وارد کنم . تقریبا" یه چیزی مث این عکس


همچنین هدر تمام سطرها رو بشه تغییر داد.
همه این کارها بدون رفرش انجام باشه و ترجیحا" توسط کنترل آپدیت پنل . ( یا به عبارتی درون کنترل اپدیت پنل )
لطفا" اینو در نظر داشته باشید که نمیخوام زمان طراحی کنترل رو به یک دیتابیس انعقاد کنم بلکه همه کارهایی که گفتم با کد نویسی انجام میشه . و در زمان اجرا اتفاق می افته .

لطفا" هزینه مورد نظر برای انجام این کار رو برام پ . خ کنید . ضمنا" اینکه برای انجام این کار کوئری یک جدول رو می دم که عملیات گفته شده روی همون انجام باشه .

با آرزوی بهترین ها
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 8 يكشنبه 21 ارديبهشت 1399 زمان : ۲۲:۳۵ نظرات (0)
با سلام در این پست قصد دارم SQL Server را از صفر تا صد آموزش بدم. اگر سوالی داشتین بپرسین. تا جایی که سوادم برسه در خدمتم.

ابتدا برنامه Microsoft SQL Server Management Studio را اجرا می نماییم و با یکی از روشهای اتصال به Server وصل می شویم. کلیک بر روی Connect.

SQL Server داراي چهار پايگاه داده سيستمي tempdb, model, master و msdb و يك يا چند پايگاه داده مربوط به كاربران است. برخي از سازمان ها فقط داراي يك پايگاه داده كاربر هستند كه شامل تمام داده هاي آنها است. برخي از سازمان ها نيز داراي پايگاه هاي داده مختلفي براي هر گروه در سازمان هستند. به عنوان مثال، يك سازمان مي تواند يك پايگاه داده براي فروش، يك پايگاه داده براي حقوق و يك پايگاه داده براي مديريت اسناد داشته باشد.

لازم نيست كه چند نسخه از SQL Server را اجرا كنيد تا كاربران بتوانند به پايگاه هاي داده يك سرويس دهنده دسترسي يابند. SQL Server قادر به جوابگويي به هزاران كاربر در پايگاه هاي داده مختلف به طور همزمان بر روي يك سرويس دهنده مي باشد. SQL Server تمام پايگاه هاي داده موجود در سرويس دهنده را براي تمام كاربراني كه به سرويس دهنده متصل هستند، با توجه به جوازهايشان قابل دسترسي مي سازد.
هنگام اتصال به SQL Server ، اتصال شما با يك پايگاه داده مشخص روي سرويس دهنده در ارتباط مي باشد. اين پايگاه داده، پايگاه دادة جاري ناميده مي شود. شما معمولاً به پايگاه داده اي كه به عنوان پيش فرض توسط مدير سيستم تعريف شده است متصل هستيد مگر اين كه با استفاده از گزينه هاي اتصال API هاي پايگاه داده، پايگاه داده ديگري را مشخص كنيد.


اجزاء منطقي پايگاه داده
داده هاي درون يك پايگاه داده SQL Server در چند شيء مختلف ذخيره شده اند. اين شيء ها پس از اتصال به پايگاه داده، براي كاربر قابل رؤيت هستند.
در SQL Server اجزاء زير به صورت شيء تعريف شده اند :
محدوديت ها جدول ها
پيش فرض ها Trigger ها
شاخص ها نوع هاي داده اي تعريف شده توسط كاربر
كليدها ديدها
رويه هاي ذخيره شده
نوع هاي داده اي و ساختار جدول
تمام داده هاي پايگاه داده SQL Server در شيء هايي به نام جدول قرار دارند. هر جدول دلالت بر شيء اي دارد كه براي كاربر با معنا مي باشد. به عنوان مثال، در يك پايگاه داده مدرسه، جدول ها مي توانند جدول كلاس، جدول معلم و جدول دانش آموز باشد.
جدول هاي SQL Server داراي دو جزء اساسي هستند :

ستون :‌ نشان دهنده بعضي از صفت هاي شيء اي است كه توسط جدول مدل سازي شده است.• سطر : نشان دهنده نمونه اي از يك شيء است كه توسط جدول مدل سازي شده است.
ميدان، مجموعه اي از تمام مقادير مجاز در يك ستون است. به عنوان مثال، ميدان رنگ قطعه هم شامل نوع داده اي مانند char(6) و هم شامل رشته هاي كاراكتري مجاز در ستون مانند Green, Blue, Red و غيره است.
جدول ها، كنترل هاي متعددي دارند كه صحت داده ها را تضمين مي كنند. به عنوان مثال، مي توانيد پايگاه داده اي به نام MyCoDb براي مديريت داده هاي شركت خود ايجاد كنيد. مي توانيد جدولي به نام Employees براي ذخيره اطلاعات كارمندان ايجاد كنيد. جدول مي تواند ستون هايي به نام ؟؟؟ داشته باشد. مي توانيد رويه اي به نام ؟؟ ايجاد كنيد تا مقادير داده اي مربوط به يك كارمند جديد را دريافت كرده و عمليات مربوط به درج سطر در جدول Employees را انجام دهد.
ستون ها مي توانند مقادير NULL را قبول كرده و يا رد نمايند. NULL يك مقدار ويژه در پايگاه داده است كه مفهوم" مقدار ناشناخته" را در بر دارد. NULL با مقادير جاي خالي يا صفر تفاوت دارد. جاي خالي در واقع يك كاراكتر مجاز و صفر يك عدد مجاز است در حالي كه NULL صرفاً نشان دهنده اين باور است كه ما نمي دانيم اين مقدار چيست. NULL با رشته به طول صفر نيز تفاوت دارد.
SQL Server داده هاي مربوط به تعريف مشخصات سرويس دهنده و تمام جدول هاي خود را در مجموعه ويژه اي از جدول ها به نام جدول هاي سيستمي ذخيره مي كند. كاربران نبايد مستقيماً جدول هاي سيستمي را بهنگام سازي كرده و يا روي آنها پرس و جوهايي اجرا كنند. فقط SQL Server بايد در پاسخ به دستورات مديريتي كه توسط كاربران صادر مي شود به جدول هاي سيستمي ارجاع كند.
m6tb_capture.jpg



ديدهاي SQL یا View ها
ديد را مي توان به عنوان يك جدول مجازي يا پرس و جوي ذخيره شده درنظر گرفت. داده هايي كه از طريق يك ديد قابل دستيابي هستند به عنوان يك شيء مجزا در پايگاه داده ذخيره نمي شوند. چيزي كه در پايگاه داده ذخيره مي شود يك دستور SELECT است. مجمموعه نتيجه دستور SELECT ، جدول مجازي حاصل از ديد را تشكيل مي دهد. از ديد براي انجام كارهاي زير استفاده مي شود :

• محدود كردن كاربر به سطرهاي ويژه اي از يك جدول.• محدود كردن كاربر به ستون هاي ويژه اي از يك جدول.• الحاق ستون هايي از جدول هاي مختلف به طوري كه همانند يك جدول باشند.• بدست آوردن اطلاعات جمعي به جاي پرداختن به جزئيات.
جدول هايي كه دستور SELECT موجود در تعريف ديد به آنها ارجاع مي كند، جدول مبنا ناميده مي شوند. پس از تعريف ديد، مي توانيد همانند يك جدول به آن ارجاع كنيد. در تعريف ديد مي توان به يك ديد ديگر ارجاع كرد.
ديدهاي SQL Server قابل بهنگام سازي هستند در صورتي كه عمل بهنگام سازي فقط بر يكي از جدول هاي مبنايي كه توسط ديد ارجاع مي شود، تاثير داشته باشد.

Capture.JPG

رويه هاي ذخيره شده
رويه ذخيره شده، مجموعه اي از دستورات Transact-SQL است كه در يك طرح اجرايي كامپايل شده اند.
رويه هاي ذخيره شده به چهار طريق داده ها را باز مي گردانند :
1- پارامترهاي خروجي كه مي توانند داده يا يك متغير كرزر را باز گردانند.
2- كدهاي بازگشتي كه همواره مقادير صحيح هستند.
3- براي هر دستور SELECT درون رويه ذخيره يا رويه هاي ذخيره شده ديگري كه در اين رويه قرار دارند، يك مجموعه نتيجه بازي گرداند.
4- كرزر عمومي كه نمي تواند خارج از رويه ذخيره شده ارجاع شود.
نمونه اي از يك رويه ذخيره شده را در زير مشاهده مي كنيد :
Capture.JPGCapture0.JPG

- - - Updated - - -

برنامه هاي كاربردي لازم نيست كه تمام دستورات SQL درون رويه را ارسال كنند . در عوض فقط يك دستور EXECUTE يا CALL كه شامل نام رويه و مقادير پارامتر ها است ارسال مي شود.
رويه هاي ذخيره شده كاربران را از جزئيات جدول هاي درون پايگاه داده بي نياز مي كنند. اگر مجموعه اي از رويه هاي ذخيره شده تمام كارهاي مورد نياز كاربران را پشتيباني كند كاربران هرگز مجبور نخواهند بود كه مستقيماً به جدول ها دسترسي يابند. يك نمونه از اين نحوه استفاده از رويه هاي ذخيره شده ، رويه هاي ذخيره شده سيستمي SQL Server است كه كاربران را از ارتباط مستقيم با جدول هاي سيستمي بي نياز مي كند. نام اين رويه هاي ذخيره شده با SP شروع مي شود. اين رويه هاي ذخيره شده تمام وظايف مديريتي لازم براي اجراي SQL Server را پشتيباني مي كند. در واقع، شما مي توانيد با استفاده از دستورات مديريتي Transact-SQL يا رويه هاي ذخيره شده سيستمي، SQL Server را مديريت نماييد و هرگز نياز نخواهيد داشت كه مستقيماً جدول هاي سيستمي را بهنگام سازي كنيد.
اجراي يك رويه ذخيره شده در پروژه های پایگاه داده SQL Server بهتر از اجراي يك دستور SQL مي باشد زيرا لازم نيست SQL Server به طور كامل يك طرح اجرا را كامپايل نمايد و فقط بايد بهينه سازي طرح ذخيره شده رويه را تكميل نمايد.
SQL Server داراي رويه هاي ذخيره شده موقت نيز مي باشد كه هنگام قطع اتصال حذف مي شوند. رويه هاي ذخيره شده موقت در tempdb ذخيره مي شوند. از اين رويه ها بيشتر در مواقعي استفاده مي شود كه برنامه هاي كاربردي، دستورات SQL-Transact پويا توليد مي كنند و چندين بار اجرا مي شوند. به جاي اين كه دستورات SQL Server چند بار كامپايل شوند، مي توان يك رويه ذخيره شده ايجاد كرد كه در اولين اجراي خود كامپايل شده و سپس طرح از پيش كامپايل شده چندين بار اجرا شود. استفاده بيش از حد از رويه هاي ذخيره شده موقت، منجر به ايجاد تداخل در جدول هاي سيستمي tempdb مي شود.

- - - Updated - - -

مقادير قابل قبول انواع داده
مقادير عددی
مقادير اعداد صحيح از 63^2- تا1-63^2 bight
مقادير اعداد صحيح از 31^2- تا 1-31^2 Int
مقادير اعداد صحيح از 15^2- تا 1-15^2 Smallint
مقادير اعداد صحيح از 0 تا 255 Tinyint
مقادير اعداد صحيح با ارزش 0 و 1 bit
مقادير مقياس با دقت ثابت شده از 1+38^10 تا 1-38^10 decimal
مقادير Decimal همچنين مي تواند تعريف شود به صورتNumeric ، دامنه مقادير يكسان مي باشد.
مقادير Monetary (مالي) از 63^2- تا 1-63^2 (مقادير Money تا 0.0001 از هرواحد دقت دارد). Money
مقاديرMonetary از 3648 . 748 . 214- تا 3647 . 748 . 214 مي باشد Smallmoney
(مقادير Small Monetary تا 0001/0 واحد دقيق مي باشد).
مقادير صحيح شناور (متغير) از 308+E1.79- تا 308+E1.79 (مقادير Float فقط تقريبي مي باشد) Float
مقادير صحيح شناور متغير از 38+E3.40- تا 38+E3.40 مي باشند (مقادير real فقط تقريبي مي باشد) real
مقادير تاريخ و زمان از 1.1753 ژانويه تا 31.9999 دسامبر مي باشد datetime
(مقادير Date Time تا 3 هزارم ثانيه يا 3.33 ميلي ثانيه دقت دارد) Smalldatedtime
مقادير تاريخ و زمان از 1 ژانويه و 1900 تا 6 ژوئن و 2079 مي باشد (مقاديرSmalldatetime تا 1 دقيقه دقت دارند)


مقادير کاراکتری
مقادير حرفي كدگذاري نشده با طول ثابت با طول حداكثر 8000 حرف مي باشد. Char
مقادير حرفي كدگذاري نشده با طول متغير با طول حداكثر 8000 حرف مي باشد. Varchar
داده كدگذاري شده با طول متغير با طول حداكثر 1-31^2 (647 . 741 . 073 . 1) حرف مي باشد. Text
داده كدگذاري شده با طول ثابت با طول حداكثر 4000 حرف مي باشد Nchar
داده كدگذاري نشده با طول متغير با حداكثر طول 4000 حرف مي باشد nvarchar
داده كدگذاري شده با طول متغير با حداكثر طول 1-30^2 (823 . 741 . 073 . 1) حرف مي باشد ntext

مقادير باينری (1 و 0)
داده باينري با طول ثابت با حداكثر طول 8000 بايت مي باشد binary
داده باينري با طول متغير با حداكثر طول 8000 بايت مي باشد Varbinary
داده باينري با طول متغير با حداكثر طول 1-31^2 (647 . 783 . 147 . 2) بايت مي باشد Image


مقادير ديگر
يك مرجع مبناء براي يك Cursor مي باشد (يكCursor يك ماهيتي است كه يك مرجع مبناء را براي يك سطر مشخص در يك Result Set نشان مي دهد. Cursor
يك شمار واحد پايگاه داده است كه به هنگام مي شود هر زماني كه يك سطر به هنگام شود. (نوع داده rowversion در نسخه قبلی از Timestamp SQL Server ناميده می شود) rowversion
مقاديري از هر نوع غير از text ، ntext ، rowversion (timestamp) و sql - variant می باشد. يك معرف واحد کلي GUID مي باشد. Uniqveidentifier

guid
Guid که از GloballyUniqueIdentifier گرفته شده، يک مقادير باينری (1 و 0) 16 بايتی می باشد که هيچ کامپيوتر ديگری در دنيا نخواهد مقدار آن را توليد کند. نوع داده uniqueidentifier برای ذخيره کردن Guids استفاده می شود. SQL Server به طور خودکار مقادير Guid را از همان راهی که مقادير Identity ايجاد می شود، فراهم نمی کند. زيرا يک جدول می تواند شامل Guids چندگانه باشد، اما فقط يک Identity منحصر به فرد باشد. اگر چه، تابع NEWID که SQL Server آن را به صورت پيش فرض در نظر می گيرد زمانی که خصوصيات IsrowGuid ، Yes می شود. يک Guid جديد بر خواهد گشت زمانی که سطر قرار داده می شود.
ايجاد کردن ستونهای محاسباتی
علاوه بر اينکه ستونها به طرز ساده اطلاعات را در جداول Underlying و نماها نشان می دهد، همچنين Query تان می تواند شامل ستونهايی باشد که محاسبه شده اند بر اساس داده های Underlying ، توابع SQL Server يا هر ترکيب دوتايی. ستون محاسباتی به وسيله مشخص کردن يک عبارت به عنوان ستون ايجاد می گردد.
ما به عبارات Transact-SQL در Detail در درس 21 "The Transact-SQL Language" می پردازيم. بنابراين در اين تمرين ما فقط يک جفت از عبارات ساده که بر اساس اپراتور الحاق رشته Transact-SQL که دو رشته و تابع GETDATE را که داده ها و زمان سيستم جاری را باز می گرداند اضافه می کنيم.
ايجاد کردن يک ستون محاسباتی با استفاده از قاب Grid
1- قاب SQL را پنهان کرده و قابGrid را به وسيله کليک کردن دکمه روی نوار ابزار Query Designer نشان می دهيم.
2- در هر سل ستون خالی در قاب Grid کليک کرده و Oil Name + – + Latin Name را تايپ می کنيم.
راهنمايی: شما می توانيد سل ها را در قاب Grid به وسيله درج کردن خطوط تقسيم بين سر ستونها عريض تر سازيد.
3- کليد Tab را فشار می دهيم. SQL Server ، 1 Expr را به عنوان نام مستعار ستون پيشنهاد می دهد.

4- نام مستعار را برای Extended Name تغيير می دهيم.
5- دکمه Run را برای به کارگيری مجدد Query کليک می کنيم. Query Designer ستون جديد را در قاب Results نشان می دهد.

ايجاد کردن يک ستون محاسباتی با استفاده از قاب SQL
1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.

2- GETDATE را به عنوان [ Today’s Data ] برای ليست ستون از شروط Select اضافه می کنيم.
راهنمايی: کاما را قبل از GETDATE فراموش نکنيد.
3- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server تاريخ جاری در هر سطر را نشان می دهد.

استفاده کردن از شرط Top n
زمانی که شما دستور Return Top را از منوی متن جدول انتخاب می کنيد. SQL Server شرط Top n را در پايين پوششها برای ايجاد صفحه نمايش در Query Designer استفاده می کند. علاوه بر اينکه يک شماره مشخصی از سطرها را مشخص می کنيد شما می توانيد همچنين يک درصد از سطرها را به وسيله استفاده کردن از شرط Top n Percent نشان دهيد. همان طوری که شما ممکن است انتظار داشته باشيد درصدی از سطرهای مشخص شده را باز می گردانيم.

نشان دادن سطرهای Top s
1- Top 5 را قبل از اولين کلمه در Column-List از شروط Select در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server فقط 5 سطر اول را نشان می دهد.

نشان دادن Top 5 درصد از سطرها
1- کلمه Percent را بعد از Top 5 در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. SQL Server فقط 5 درصد اول از سطرها را در SQL Server نشان می دهد.


شرط WHERE
با استفاده از شرط اختياری WHERE از حالت SELECT شما می توانيد يک زير مجموعه از سطرها که باز گردانده می شوند را مشخص کنيد. برای مثال شما ممکن است بخواهيد فقط مشتريهايی که بيش از $1000 در 12 ماه قبل خرج کرده اند را ببينيد يا اينکه فقط نامهای Oil که با حرف R شروع می شوند را ببينيد. شما اين ملاکها را با استفاده از شرط WHERE مشخص خواهيد کرد.

- - - Updated - - -

شرط WHERE BASIC
Operator Meaning مساويست با =
بزرگتر از <
کوچکتر از >
بزرگتر يا مساويست با =<
کوچکتر يا مساويست با =>
مساوی نيست با <>
کليد برای شرط WHERE يک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پايه ای از يک شرط WHERE ، WHERE می باشد. SQL Server يک حدود کاملی از اپراتورهای مقايسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.

مشخص شده در شرايط WHERE می تواند يک ارزش دائمی باشد مانند Red"" يا 10000 يا

می تواند باشد يک عبارتی که يک ارزش مانند GETDATE. را باز گرداند. به طور شبيه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای

Transact-SQL مانند LEFT که يک تعدادی از کاراکترهای مشخص شده از چپ يک رشته

را باز می گرداند
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 14 يكشنبه 27 بهمن 1398 زمان : ۰۷:۱۵ نظرات (0)



لینک مقاله : http://www.vaniait.com/Articles/entity-framework-training-mvc-net-introduction-65
در این مباحث شما را با مفاهیم پایه ای Entity Framework آشنا خواهم کرد و همزمان نیز پروژه ای را شروع و به پایان می رسانیم. این نوشتارها و آموزش ها بر اساس دو کتاب زیر می باشد :


همانگونه که در کتاب آموزش قبلی یعنی «شروع کار با MVC 5» قول داده بودم ، آموزش Entity Framework 6 Code First به کمک MVC.Net را به مرور در سایت شرکت طراحی وبسایت وانیا قرار خواهم داد. در این مباحث شما را با مفاهیم پایه ای Entity Framework آشنا خواهم کرد و همزمان نیز پروژه ای را شروع و به پایان می رسانیم. این نوشتارها و آموزش ها بر اساس دو کتاب زیر می باشد :


کتاب Getting Started with Entity Framework 6 Code First using MVC 5 انتشارات Microsoft Technology کتاب Programming Entity Framework Code First انتشارات OREILLY


دوستانی که برای بار اول است با نوشتارهای بنده روبرو می شوند باید عرض کنم که بنده (مرتضی پورمحمد) این کتاب ها را به زبان محاوره ای ترجمه و تجربیات شخصی را نیز در آنها دخلی می کنم و برخلاف دیگر دوستان مترجم و دانشمند! تنها به ترجمه ی صِرف بسنده نمی کنم. پس اگر جایی از نوشتارهایم برخلاف گفته ها و یا فصول کتاب/ها است، به همین علت می باشد.
و اما پروژه ای که در این مسیر با کمک شما آن را به نتیجه می رسانیم «دانشگاه آموزشی وانیا» می باشد که در کتاب Getting Started with Entity Framework 6 Code First using MVC 5 تحت عنوان « Contoso University » معرفی شده است. پروژه ی فوق را توسط تکنولوژی های زیر پیگیری خواهیم کرد


Visual Studio 2014 Update 4Net 4.5Entity Framework 6 (EntityFramework 6.1.3 NuGet package)


همچنین پیشنهاد می کنم قبل از شروع این مباحث ، آشنایی اندکی با مباحث زیر داشته باشید


HTML / CSS / JQueryC#MVC.Net 5


در صورت داشتن هرگونه سوال و یا نظر نیز می توانید از طریق راه های ارتباطی زیر در تماس باشید:
تلفن شرکت : ۰۲۱۶۶۳۵۹۸۹۸تلفن همراه : ۰۹۱۲۲۸۳۰۷۹۵پست الکترونیک : manager [at] vaniait [dot] comکامنت زیر هر مقاله


و اما شروع. برای شروع باید به ادبیات مشترکی با یکدیگر برسیم تا زبان همدیگر را بهتر بفهمیم.

ORM چیست ؟


قبل از این که بخواهیم باEntity Frameworkآشنا شویم، بهتر است مفهومORMرا بدانیم.ORMیا Object Relational Mappingابزاری است که به وسیله آن می توان جداول پایگاه داده را پردازش کرد و آنها را به فرمت شیءنگاشت کرد که در کدنویسی خواناتر باشند. در کدنویسی به جای این که به صورت مستقیم با جداول پایگاه داده کار کنیم بر روی اشیاء کار می کنیم. به این اشیاء موجودیت یا Entity گفته می شود.


Entity Framework چیست ؟

Entity Framework درواقع یکی از قدرتمندترین ORM های دسترسی به منابع داده است. به وسیله Entity Framework شما می توانید با انواع مختلف دیتابیس از قبیل SQL Server ، Sqlite و … کار کنید بدون اینکه نیاز به عملیات مستقیم در دیتابیس داشته باشید. این تکنولوژی چند ویژگی مهم دارد که توجه اکثر برنامه نویسان را به خود جلب کرده است.


کار کردن با Entity Framework بسیار ساده است.حتی یادگیری آن ده ها برابر ساده تر از مدل های مشابه مانند ADO.NET است.سرعت در دسترسی به داده ها و اجرای دستورالعمل ها بسیار بالاست و در پروژه های بزرگ نیز می توان از آن استفاده کرد.پیاده سازی آن بسیار سریع است و در زمان صرفه جویی می شود.دیتابیس شما در قالب کلاس های شی گرا با سایر اجزای پروژه یکپارچه می شود و علاوه بر خوانایی بالا در کدنویسی، عملیات ارتقا و بروزرسانی نرم افزاری را سرعت می بخشد و از بروز خیلی از خطاها جلوگیری می کند.در برخی از حالت ها شما نیاز به طراحی پایگاه داده ندارید! زیرا با استفاده از امکانات EF خود برنامه دیتابیس را از روی مدل یا کلاس های شما می سازد.


انواع دیتامدل در Entity Framework
در کتاب قبلی کمی درباره ی این مدل ها توضیح داده و قول داده بودم که در این کتاب مفصل در خصوص هر کدام صحبت کنم . چون مقاله ی حاضر مقدمه می باشد ، هر کدام را در فصل های مربوط به خود مفصل به بحث و بررسی خواهیم پرداخت. اما این مدل ها کدامند :

Database First Modeling : در این روش مدل ما از روی یک پایگاه داده موجود ایجاد می شود و می توان از طریق Entity Data Model Designer در Visual Studio تغییرات لازم را بر روی مدل انجام داد.Model First Modeling : در این روش ابتدا مدل توسط برنامه نویس در محیط Entity Data Model Designer ایجاد میشود، سپس بطور خودکار پایگاه داده و کدها و اسکریپ های موردنیاز از روی مدل ساخته میشوند.Code First Modeling: در این روش کلاس های معادل موجودیت ها (جداول) توسط برنامه نویس نوشته میشوند (این کلاس ها POCO-Plain OLD CLR Objects نامیده میشوند) سپس EF بطور خودکار پایگاه داده و مدل را از روی این کلاس ها میسازد. ما در مقالات حاضر با این نوع بیشتر آشنا شده و پروژه ی حاضر نیز تحت همین مدل سپری خواهد شد


مزایای استفاده از Entity Framework چیست ؟

سطح یادگیری ساده: کار با EF به نسبت بقیه ORMها تقریبا ساده تراست.پشتیبانی از پایگاه داده های مختلف در نسخه ۴ به بعد (در حال حاضر نسخه ۶٫۲ وجود دارد).توسعه فعال: Microsoft، قصد جدی در توسعه این قابلیت دارد. اضافه شدن امکانات زیاد به نسخه ۴ به بعد نشاندهنده همین مطلب هست. مثل امکان Code First، Lazy Loading و …که در نسخه ۴ به EF اضافه شده اند.توسعه دهندگان قادرند تا با ساختار شیء گرایانه سازگار با انواع سیستم های مدیریت داده کار کنند.پشتیبانی کامل از Linq.نصب خودکار با Visual Studio.مرتبط شدن چندین مدل مفهومی به یک ساختارپایگاه داده.برنامه های کاربردی قادر خواهند بود تا در مدل مفهومی خود (conceptual model) محوریت بیشتری به خود برنامه ببخشند به گونه ای که شیء گرایی، ارث بری، گونه ها (Type) های پیچیده تر و روابط بین جداول و اشیاء بهتر پیاده سازی شوند.برنامه نویس ها از کدنویسی زیادی پیچیده رها می شوند.بدون کوچک ترین تغییر کد برنامه خواهیم توانست مدل ارتباط بین ساختار پایگاه داده و مدل مفهومی را تغییر دهیم.

چه زمانی از EF استفاده می کنیم؟


زمانی که بخواهیم برنامه ما به پایگاه داده های دیگری به جز Microsoft SQL Serverنیز دسترسی پیدا کند.زمانی که بخواهیم domain models برای برنامه مان تعریف کنیم و از آن به عنوان لایه persistenceاستفاده نماییم.زمانی که از یک راهکار ORMی استفاده کنیم که ممکن است کلاسهایمان رابط های ۱:۱ با پایگاه داده داشته باشد یا ممکن است ساختاری بسیار متفاوت و پیچیده در ارتباط با پایگاه داده دارا باشد.زمانی که میخواهیم از یک ORM استفاده کنیم که ساختارهای سلسله مراتبی در آن، معادل های پایگاه داده ای متفاوتی داشته باشد. مانند وقتی که جدولی جهت نگهداری سلسله مراتب، جداولی برای هر یک ازکلاسها وجدولی جهت نگهداری گونه ای (Type) خاص داریم.زمانی که وقتی میخواهیم از LINQ جهت نوشتن Queryها استفاده کنیم درحالیکه Queryدرپایگاه داده به شیوه خاص و درسلطه سازنده آن عمل میکند.زمانی که استفاده از کلاسهایی که خودمان نوشتیم، درکنار کلاسهای تولیدشده توسط سیستم یا ارث بری ازکلاسهای پایه یا پیادهسازی رابطها درکلاسها.زمانی که استفاده از یک ORM با حفظ کارآیی و امکان بهبود آن از طریقStored Procedureها و Queryهای کامپایل شده.


و نکته ی اخر اینکه ما در مقالات پیش رو قصد راه اندازی یک سایت دانشگاه فرضی را داریم که دانشجو بتواند در آن ثبت نام کند و سپس اقدام به واحد گیری نماید و پس از انتخاب واحد بتواند شهریه ی دانشگاه خود را به صورت آنلاین واریز نماید. این سایت دانشگاه بخش مدیریت دارد که مدیریت سایت می تواند دپارتمان های آموزشی مختلف تعریف، اساتید را اضافه و دروس مختلف را برای واحد گیری دانشجویان تعریف نماید.


/ پایان مقدمه /

لینک مقاله : http://www.vaniait.com/Articles/entity-framework-training-mvc-net-introduction-65
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 14 چهارشنبه 11 دي 1398 زمان : ۱۰:۴۰ نظرات (0)


در سلسله مقالات آموزش راه اندازی وب سایت خبری در بخش قبل (آموزش برنامه نویسی وب سایت خبری توسط MVC.Net - مقدمه) به معرفی کوتاه و اجمالی پروژه ی حاضر اشاره داشتیم. قرار است پروژه وب سایت خبری را بازبان برنامه نویسی MVC.net کدنویسی و راه اندازی نماییم. در بخش اول و گام اول به ایجاد زیر ساخت خواهیم پرداخت.

منبع : http://vaniait.com/Article/Educational-programming-News-website-by-mvc-net-part1-1-68

بخش اول - گام اول زیرساخت برنامه نویسیمانند همیشه ویژوال استودیو را راه اندازی نمایید. و یک پروژی ی جدید ایجاد نمایید ما در اینجا نامش را JustBlog می گذاریم.




سپس یک Web Application از نوع MVC در آن ایجاد می کنیم. به این ترتیب که روی نام سولوشن رایت کلیک کرده و از زیر منوی Add یک NewProject ایجاد می نماییم



مانند شکل زیر نام آن را نیز JustBlog میگذاریم و از نوع MVC انتخاب می کنیم





خب حالا وقتشه تا کتابخانه ی کلاس ها یا همون class library را ایجاد کنیم. دوباره مثل شکل دوم روی سولوشن رایت کلیک می کنیم و یک پروژه از نوع class library انتخاب می کنیم. و اسمشو دقیقاً هم اسم سولوشن میذاریم و ادامه ی نامش هم هر اسمی که دلمون بخواد . الان ما اینجا اسم JustBlog.Core رو انتخاب کردیم.



و پس از OK کردن باید سولوشن شما مانند شکل زیر باشه



خب برای توضیح کارهای بالا باید بگم که ما دیتااکسس ها و پروژمون رو برای راحتی کار و امنیت بیشتر جدا کردیم. یعنی هرچی دیتامدل و دیتااکسس داریم در قسمت Core کدنویسی می کنیم و باقی پروژه رو در بخش اصلی. البته معمولاً بخش اصلی رو نیز به صورت JustBlog.Web نامگذاری می کنند. اما چطور این دو بخش رو به یکدیگر وصل کنیم! کافیه رفرنس بدیم بهش. یعنی چی؟ خیلی راحت یک رفنرس از core داخل روت قرار میدیم. برای این کار کافیه روی JustBlog رایت کلیک کنیم و قسمت add reference رو انتخای کنیم و از پنجره ی باز شده قسمت Reference بر روی JustBlog.Core کلیک کرده و OK کنیم.






همونطور که بعد از این مرحله مشاهده خواهید کرد یک DLL به بخش رفرنس ها اضافه خواهد شد





خب قدم اول رو با موفقیت سپری کردیم تونستیم یک جایی برای پیاده سازی داستانمون درست کنیم. حالا وقتشه که زیرساختمون رو درست کنیم. بیاید یک سناریو دیگه بنویسیم :
ایجاد کلاسها در دامنه ی خودشوننصب و کانفیگ Fluent NHibernate و NHibernateایجاد نقشه ی کلاس ها ( Mapping Classes ) و کلاس دیتا اکسس و متدهای وابستهنصب و کانفیگ Ninject برای بخش اصلی پروژهکانفیگ Ninject برای MVCایجاد کنترل ها و اکشن ها ( controller and actions )ایجاد ویو ( view )
که ادامه ی این کارها رو در قسمت بعدی توضیح خواهم داد/پایان/

منبع : http://vaniait.com/Article/Educational-programming-News-website-by-mvc-net-part1-1-68


درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 13 يكشنبه 08 دي 1398 زمان : ۲۱:۰۵ نظرات (0)
با سلام خدمت مدیران و کاربران

بنده هاستی پلسک دارم و می خواهم بر روی آن دات نت نیوک نصب کنم
نیازمند راهنمایی دوستانی که در این زمینه متخصص هستند هستم
آپلود شده بر روی سایت ولی نصب نشده ارور زیر را می دهد:
کد: Server Error in /portal Application. Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off". <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration> Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the applications <customErrors> configuration tag to point to a custom error page URL. <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web> </configuration>
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 20 يكشنبه 12 آبان 1398 زمان : ۱۸:۴۰ نظرات (0)
باسلام

پروژه وب سایت انتخاب واحد دانشگاه به زبان C# (سی شارپ) و تکنولوژی Asp.Net و بانک اطلاعاتی Sql Server 2008 نوشته شده است.

پروژه وب سایت انتخاب واحد دانشگاه دارای امکانات کاملی است که عبارتند از :انتخاب و حذف درس،دیدن لیست دروس،دریافت نمرات،وارد کردن نمرات دانشجو توسط استاد و …

لینک مربوط به دانلود پروژه وب سایت انتخاب واحد دانشگاه در صفحه بعد وجود دارد.

در پروژه وب سایت انتخاب واحد دو پنل اساتید و دانشجویان وجود دارد که دانشجویان با ورود به این سایت می توانند وارد بخش کاربری خود شوند و لیست دروس را مشاهده کنند و درس مورد نظر را انتخاب و یا حذف کنند و همچنین بعد از وارد کردن نمرات توسط اساتید دانشجو می تواند مجدد به بخش کاربری خود شود و نمرات خود را ببیند.


دسترسی های مربوط به دانشجویان :

1- انتخاب واحد،حذف واحد دانشگاه

2- دیدن دروس

3- دریافت نمرات

4- …

دسترسی مربوط به استاتید :

1- وارد کردن نمرات دانشجویان

2- ویرایش نمرات دانشجویان

3- …


محیط پروژه:



امکانات پروژه

1- بخش مدیریت وب سایت

2- بخش دانشجویان

3- بخش اساتید

4- بخش تغییر رمز کاربری

5- نقشه سایت

6- بخش برنامه کلاسی

7- برنامه امتحانی

8- مشاهده کارنامه تحصیلی

9- …

امکانات لازم جهت اجرای پروژه :

1- نرم افزار Visual Studio 2010 و ورژن های بالاتر

2- نرم افزار SQL Server 2008

مشخصات پروژه :

نام فایل :پروژه انتخاب واحد دانشجویان –Asp.Net

حجم : 7.53 مگابایت

دانلود فایل + مستندات
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 19 سه شنبه 16 مهر 1398 زمان : ۰۱:۴۵ نظرات (0)
سلام . من میخوام محتویات دیتابیس رو درون کنترل Radgrid که کنترل تلریک هست نشون بدم . اما با دیتاتیل ، یعنی مثلا با این کد

کد: System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("select * from table;", "connectionString..."); System.Data.DataTable table = new DataTable(); adapter.Fill(table);[/

چیزی که میخوام اینکه ، بعد که اطلاعات رو نمایش داد دکمه ویرایش داشته باشه ، حذف داشته باشه ، و یک دکمه هم برای افزودن . و این افزودن اطلاعات هم از داخل همون کنترل Radgrid صورت بگیره . یعنی اگر گرید 4 تا ستون داشته باشه ، اخرین سطر یه سطر خالی باشه که بتونم هر 4 فیلد رو وارد کنم . تقریبا" یه چیزی مث این عکس


همچنین هدر تمام سطرها رو بشه تغییر داد.
همه این کارها بدون رفرش انجام باشه و ترجیحا" توسط کنترل آپدیت پنل . ( یا به عبارتی درون کنترل اپدیت پنل )
لطفا" اینو در نظر داشته باشید که نمیخوام زمان طراحی کنترل رو به یک دیتابیس انعقاد کنم بلکه همه کارهایی که گفتم با کد نویسی انجام میشه . و در زمان اجرا اتفاق می افته .

لطفا" هزینه مورد نظر برای انجام این کار رو برام پ . خ کنید . ضمنا" اینکه برای انجام این کار کوئری یک جدول رو می دم که عملیات گفته شده روی همون انجام باشه .

با آرزوی بهترین ها
درباره ASP-ASP.net-Access-MSSQL ,
زینب بازدید : 25 دوشنبه 01 مهر 1398 زمان : ۰۳:۴۰ نظرات (0)
1

تعداد صفحات : 1

موضوعات
لینک دوستان
پیوندهی روزانه
  • آرشیو لینک ها
  • صفحات جداگانه
    آمار سیت
  • کل مطالب : 4,013
  • کل نظرات : 0
  • افراد آنلین : 17
  • تعداد اعضا : 0
  • بازدید امروز : 141
  • باردید دیروز : 5,975
  • بازدید هفته : 35,133
  • بازدید ماه : 131,533
  • بازدید سال : 724,375
  • بازدید کلی : 2,109,598