.NET কোর (এন্টিফ্রেমওয়ার্ককোর) এর জন্য, আমি সেগুলি কাজ করতে সক্ষম হয়েছি।
সবচেয়ে কাছের নাও হতে পারে তবে এটি অবশ্যই কাজ করে।
মত সঞ্চিত পদ্ধতি সৌন্দর্য যোগ করার জন্য মাইগ্রেশন এই :
using Microsoft.EntityFrameworkCore.Migrations;
using System.Text;
namespace EFGetStarted.AspNetCore.NewDb.Migrations
{
public partial class StoredProcedureTest : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("CREATE PROCEDURE GetBlogForAuthorName");
sb.AppendLine("@authorSearch varchar(100)");
sb.AppendLine("AS");
sb.AppendLine("BEGIN");
sb.AppendLine("-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.");
sb.AppendLine("SET NOCOUNT ON;");
sb.AppendLine("SELECT Distinct Blogs.BlogId, Blogs.Url");
sb.AppendLine("FROM Blogs INNER JOIN");
sb.AppendLine("Posts ON Blogs.BlogId = Posts.BlogId INNER JOIN");
sb.AppendLine("PostsAuthors ON Posts.PostId = PostsAuthors.PostId Inner JOIN");
sb.AppendLine("Authors on PostsAuthors.AuthorId = Authors.AuthorId");
sb.AppendLine("Where Authors.[Name] like '%' + @authorSearch + '%'");
sb.AppendLine("END");
migrationBuilder.Sql(sb.ToString());
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql("DROP PROCEDURE GetBlogForAuthorName");
}
}
}
আমি নিম্নলিখিত কোড সহ এটি কল করতে পারে :
var blogs = _context.Blogs.FromSql("exec GetBlogForAuthorName @p0", "rod").Distinct();
পরে সম্পর্কিত কিছু ডেটা (একাধিক সম্পর্কের ডেটা যেমন পোস্টের সামগ্রী হিসাবে) পাওয়ার চেষ্টা করা হয়েছিল এবং ব্লগটি ভরাট পোস্ট সামগ্রীর সাথে এক্সপ্লোর করা হিসাবে ফিরে আসে।