با سلام
در پروژه خودم از Entity Framework Code First استفاده می کنم. قصد دارم از یک Stored Procedure استفاده کنم. این Sp رو در دیتابیس ایجاد کردم اما نمی تونم از این روال ذخیره شده در پروژه استفاده کنم.
لطفا راهنمایی بفرمایید جهت استفاده از SP در پروژه با انتیتی فریم ورک code First چه راه حلی وجود داره؟
آیا میشه از طریق کد هم Sp ایجاد کرد و توسط Migration اونو در دیتابیس ایجاد کرد؟
به این لینک یه سری بزن شاید کمکت کنه
فراخوانی Stored Procedure توسط Entity Framework 6 Code First
استفاده از Stored Procedure در انتیتی فریم ورک کدفرست زیاد توصیه نمیشه و محدودیتهای زیادی رو ایجاد میکنه. چون اصولا ساختار Code First با Stored Procedure همخوانی نداره. ولی یکی از بهترین مثال ها از سایت خود entityFrameWork هست.
استفاده از Stored Procedure در انتیتی فریم ورک Code First ساده هست. یک مثال براتون مینویسم که توی Asp.net Core 3.1 انجام شده.
فرض کنید در Sql Server یک Stored Procedure دارید مشابه زیر :
Create Procedure [dbo].[Sp_insert]
@Title Varchar(50)
As
Insert Into Groups_Tbl
(Title)
values
(@Title)
خب در SP بالا یک پارامتر وجود داره به نام Title که قرار هست یک رکورد در جدولی با نام Groups_Tbl ثبت کنه. حالا کدهایی که در Asp.net Core مینویسیم به صورت زیر خواهد بود
[HttpPost]
public async Task<IActionResult> RunSp(string Title)
{
try
{
SqlParameter TitleParam = new SqlParameter("@Title", Title);
await _context.Database.ExecuteSqlCommandAsync("Sp_insert @Title", TitleParam);
return Json(new { st = "success" });
}
catch (Exception)
{
return Json(new { st = "success" });
}
}
در اکشن بالا ابتدا پارامترهایی که قرار هست به Sql ارسال بشه رو با استفاده از کلاس SqlParameter تعریف کردیم و سپس با استفاده از ExecuteSqlCommandAsync تونستیم SP رو اجرا کنیم.
این یک مثال بسیار ساده و البته کاربردی از استفاده از Stored Proceure در Entity Framework Code Fisrt هست.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
562
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|