درون دیتابیس Sql Server چندین Procedure مختلف دارم که از اونها در مدل داده ای در انتیتی فریم ورک استفاده می کنم. این نکته رو هم بگم که از انتیتی فریم ورک Db First استفاده می کنم.
حالا بعضی از این پروسیجرها رو نیاز ندارم یا اینکه تغییرات اساسی داشتن و یک Procedure جدید در Sql Server برای اونها اضافه کردم. SP های اضافی رو به راحتی میتونم توی Sql Server حذف کنم ولی چجوری میشه این پروسیجرها رو از مدل داده ای هم حذف کرد به نحوی که مدل داده ای به درستی کار کنه و دچار مشکل نشه؟
سلام. دوست عزیز اگر این Procedure ها رو حذف هم نکنید هیچ مشکلی پیش نمیاد چون فضای زیادی رو توی پروژه اشغال نمیکنه. ولی برای حدف میتونی در قسمت Solution پروژه در کادر جست و جو نام sp خود رو جست و جو و پیدا کنید و سپس حذفش کنید. اگه از این طریق هم موفق نشدید کلا مدلتون رو حذف و دوباره تعریف کنید.
در تکنولوژی انتیتی فریم ورک چه Code First و چه مدل Database First کلاسی به نام DbContext وجود دارد که نماینده دیتابیس در نرم افزار می باشد. (البته دقت کنید که ممکن است این کلاس نام های مختلفی داشته باشد ولی در اکثر مواقع نام آن DbContext است و این کلاس از کلاس DbContext مشتق می شود.)
public partial class Accounting_systemEntities : DbContext
{
public Accounting_systemEntities()
: base("Accounting_Entities")
{
}
}
همانطور که در مثال بالا مشاهده می کنید کلاسی به نام Accounting_systemEntities داریم که از کلاس DbContext مشتق می شود. پس به عبارتی این کلاس همان کلاس اصلی دیتابیس یا نماینده دیتابیس در پروژه ما می باشد.
کلاس DbContext شامل چه کدهایی می باشد
حالا باید ببینیم کلاس DbContext شامل چه اجزایی می شود. همانطور که گفتیم این کلاس نماینده دیتابیس می باشد. بنابراین تمامی اجزای دیتابیس شامل جداول، ویوها، Stored Procedure ها، توابع و ... را درون خود دارد. نکته مهمی که باید گفته شود اینکه نرم افزار یا وب سایت ما دیتابیس را از طریق این کلاس شناسایی می کند و در صورتی که اطلاعات این کلاس کم و زیاد شود باعث تغییر در نرم افزار خواهد شد.
کار با کلاس DbContext در مدل DB First
به تصویر زیر دقت کنید
در مدل DB first و در مدل داده ای کلاسی به نام AutomationModel.Context.cs وجود دارد. (دقت کنید بخش اول این نام متناسب با پروژه شما ممکن است متفاوت باشد.) این همان کلاس Dbcontext پروژه شما می باشد. اگر این کلاس را باز کنید مشاهده خواهید کرد که تمامی جداول، ویوها، Sp ها و ... در این کلاس معرفی شده اند. دقت کنید که جداول دیتابیس فقط در این کلاس معرفی می شود و تعریف آنها در کلاسهای جداگانه می باشد.
حالا اگر شما قصد دارید هر SP را از پروژه خود حذف کنید کافیست نام آن Sp را در این کلاس پیدا کنید و آن را حذف نمایید.
مثلا در تصویر بالا یک Sp با نام Sp_Update_ExitDate در این کلاس پیدا کرده ایم . برای حذف میتوان کل کدهای این Sp را حذف کرد. در صورتی که کدهای این Sp حذف شود مشاهده خواهید کرد که در کدهای شما نیز دیگر این Sp وجود نخواهد داشت.
به این ترتیب به راحتی قادر خواهید بود که SP های اضافی را در پروژه خود در مدل DbFirst حذف کنید.
تاریخ :
1399/11/25
- ساعت :
11:22:00 AM
- بازدید :
3899
- پاسخ :
2
|
تاریخ :
1398/09/06
- ساعت :
09:06:00 PM
- بازدید :
3429
- پاسخ :
1
|
تاریخ :
1403/12/02
- ساعت :
12:09:00 AM
- بازدید :
274
- پاسخ :
1
|
تاریخ :
1399/10/17
- ساعت :
09:04:00 PM
- بازدید :
2712
- پاسخ :
1
|
تاریخ :
1398/07/08
- ساعت :
12:21:00 AM
- بازدید :
3053
- پاسخ :
2
|
تاریخ :
1403/11/23
- ساعت :
08:24:00 PM
- بازدید :
194
- پاسخ :
2
|
تاریخ :
1403/11/21
- ساعت :
04:52:00 PM
- بازدید :
264
- پاسخ :
1
|
تاریخ :
1399/11/10
- ساعت :
10:01:00 PM
- بازدید :
7172
- پاسخ :
4
|
تاریخ :
1399/04/09
- ساعت :
08:51:00 PM
- بازدید :
3098
- پاسخ :
1
|
تاریخ :
1399/03/25
- ساعت :
08:58:00 PM
- بازدید :
3832
- پاسخ :
1
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
91
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1315
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
68
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9853
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
38
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
46
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
60
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
50
- پاسخ :
1
|
تاریخ :
1399/06/04
- ساعت :
02:25:00 PM
- بازدید :
4421
- پاسخ :
2
|
تاریخ :
1403/11/30
- ساعت :
10:36:00 AM
- بازدید :
203
- پاسخ :
2
|