مقاله پایه
این مقاله به بررسی اتصال یک وب سایت موجود به یک پایگاه داده محلی با استفاده از entity Framework Core می پردازد. بنابراین، نقطه شروع مقاله زیر خواهد بود:
Entity Framework Core چیست؟
EF Core یک نسخه سبک، قابل توسعه و چند پلتفرمی از Entity Framework است درباره Entity Framework Core بیشتر بخوانید .
مزایای استفاده از Entity Framework Core
- راه اندازی سریعتر پایگاه داده؛
- دسترسی آسان تر به داده ها، کاهش زمان خواندن و دسترسی به داده ها.
- مستقیماً با اشیاء پیچیده خود کار کنید، نه با داده ها/جدول داده ها.
- کد کمتر، کنترل بیشتر.
- نیازی به نوشتن کوئری نیست، ما از LINQ به Entities استفاده می کنیم.
Entity Framework در مقابل Entity Framework Core
چارچوب نهاد
- فقط روی ویندوز اجرا می شود.
- می توان با Net Framework استفاده کرد.
- هیچ ویژگی جدیدی در اینجا اضافه نخواهد شد.
هسته چارچوب نهاد
- Cross-platform است، بنابراین فقط در ویندوز قابل اجرا نیست.
- قابل استفاده با Net Core یا Net Framework.
- رشد می کند و هر روز بهتر می شود.
مقالات مرتبط
پیاده سازی گام به گام CRUD
مدل را به گونه ای تنظیم کنید که بتوان آن را در یک پایگاه داده ذخیره کرد،
- public class ValueSamples
- {
- [Key]
- public int Id { get; set; }
- public string Name { get; set; }
- }
فایل زمینه DB خود را ایجاد کنید
این کلاسی است که قرار است به پایگاه داده شما متصل شود، هر شی که در داخل نوع DbSet اعلام شده است، یک جدول خواهد بود.
- public class CrudSampleContext : DbContext
- {
- public CrudSampleContext(DbContextOptions<CrudSampleContext> options) : base(options)
- {
- }
- public DbSet<ValueSamples> ValueSamples { get; set; }
- }
کلاس StartUp خود را تنظیم کنید
شما باید با استفاده از تزریق وابستگی، زمینه DB خود را ثبت و مقداردهی اولیه کنید.
- public void ConfigureServices( IServiceCollection services )
- {
- services.AddMvc().SetCompatibilityVersion( CompatibilityVersion.Version_2_1 );
- services.AddDbContext<CrudSampleContext>(options => options.UseSqlServer("your database connection string"));
- // Register Swagger
- services.AddSwaggerGen( c =>
- {
- c.SwaggerDoc( "v1", new Info { Title = "Sample API", Version = "version 1" } );
- } );
- }
دریافت رشته اتصال پایگاه داده شما
- سرور اکسپلورر را باز کنید و روی "اتصال به پایگاه داده" کلیک کنید.
- Microsoft SQL Server را انتخاب کنید.
- نام سرور خود را بردارید و OK را فشار دهید.
- نتیجه را بررسی کنید.
- روی Data Connection که به تازگی اضافه شده است کلیک راست کرده و به Properties بروید.
- رشته اتصال خود را دریافت کنید.
- کلاس Start Up نهایی شما
با رشته اتصال شما، StartUp شما باید شبیه این باشد.
موارد به رنگ زرد از رشته اتصال بالا اضافه شدند.
- public class Startup
- {
- public Startup( IConfiguration configuration )
- {
- Configuration = configuration;
- }
- public IConfiguration Configuration { get; }
- // This method gets called by the runtime. Use this method to add services to the container.
- public void ConfigureServices( IServiceCollection services )
- {
- services.AddMvc().SetCompatibilityVersion( CompatibilityVersion.Version_2_1 );
- services.AddDbContext<CrudSampleContext>(options => options.UseSqlServer(@"Data Source=yourServer;Integrated Security=True;Database=CRUDSample"));
- // Register Swagger
- services.AddSwaggerGen( c =>
- {
- c.SwaggerDoc( "v1", new Info { Title = "Sample API", Version = "version 1" } );
- } );
- }
- // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- public void Configure( IApplicationBuilder app, IHostingEnvironment env )
- {
- if ( env.IsDevelopment() )
- {
- app.UseDeveloperExceptionPage();
- // Enable middleware to serve generated Swagger as a JSON endpoint.
- app.UseSwagger();
- // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
- // specifying the Swagger JSON endpoint.
- app.UseSwaggerUI( c =>
- {
- c.SwaggerEndpoint( "/swagger/v1/swagger.json", "My API V1" );
- } );
- }
- app.UseMvc();
- }
- }
پایگاه داده خود را ایجاد کنید
- اضافه کردن مهاجرت اولیه
کنسول مدیریت بسته خود (PMC) را باز کنید و مهاجرت اولیه خود را ایجاد کنیدپوشه جدید را در راه حل پروژه خود بررسی کنید
- ایجاد پایگاه داده
دستور update-database را اجرا کنیدپایگاه داده جدید خود را در استودیوی مدیریت سرور SQL خود بررسی کنید
نمونه های CRUD
به یاد داشته باشید، برای دسترسی به Api خود از طریق swagger باید به نقطه پایانی Swagger بروید. در مورد من، این است - http://localhost:61986/swagger/index.html
اقدامات کنترلر خود را به روز کنید
- گرفتن
- کد
- [HttpGet]
- public ActionResult<List<ValueSamples>> Get()
- {
- var itemLst = _crudSampleContext.ValueSamples.ToList();
- return new List<ValueSamples>(itemLst);
- }
- نتیجه از فحش دادن
- پایگاه داده
- ايجاد كردن
- کد
- [HttpPost]
- public void Post([FromBody] ValueSamples createSample)
- {
- _crudSampleContext.ValueSamples.Add(createSample);
- _crudSampleContext.SaveChanges();
- }
- فحش دادن
- پایگاه داده