Senin, 01 Oktober 2018

Visual Studio

Koneksi database menggunakan API C#


1. Add new database


 2. Beri nama database


 3. Tambahkan new table


4. Tambahkan field


 5. Jadikan primary key untuk ke unikkan data sehingga tidak ada double


 6. Tambahkan relasi atau foreign key


7.  Add terlebih dahulu lalu ikutin nomor 2


8. Yang paling kiri adalah bagian untuk menentukan primary key dan kanan untuk foreign key. Disini untuk menentukan relasi sehingga yang memegang foreign key dapat mengambil data dari primary. Contohnya foreign key sebagai kunci cadangan dapat mengakses semua rumah dengan kunci utama (Primary key)


9. Setelah itu "OK" lalu close saja.


 10. Lakukan seperti itu kepada semua table yang memiliki relasi. Selanjutnya buka Visual Studio


11. Kemudian create blank solution


12. Setelah create blank solution add project lagi.


13. Add API.NET Web Application


14. Kemudian pilih Web API


15. di WebApplication add new item


16. Tambahkan ADO.NET


17. Kemudian EF Designer


18. Add new connection


19. Sebelum itu copy Servername terlebih dahulu untuk memudahkan kita.


20. Setelah Copy pastekan server name tersebut. kemudian pilih nama database kita. Setelah memilih database, test conncetion terlebih dahulu kemudian selesai.


21. Klik saja next


22. Pilih Entity Framework 5.0


23. Setelah berhasil, akan muncul diagram database. Jika tidak ada garis artinya table anda belum memiliki relasi. Jika tidak ada, biarkan saja terlebih dahulu. Tp jika mau ditambahkan juga silahkan.


24. Saya add new folder untuk merapikan data saya.


25. Beri nama folder tersebut.


26. Di folder tersebut add new item lagi.


27. Pilih Web API Controller


28. Jika sudah di add akan muncul seperti dibawah.


29. Hapus saja bagian tersebut untuk memudahkan anda.


30. Setelah di hapus, pastikan seperti ini.


31. Tambahkan seperti dibawah ini.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http;

namespace WebApplication1.CatalogApiController
{
    public class CatalogApiController : ApiController
    {
        private catalogEntities db = new catalogEntities();
        [HttpGet]
        public HttpResponseMessage Get()
        {
            IQueryable<product> product = db.products;
            return Request.CreateResponse(System.Net.HttpStatusCode.OK, product, new MediaTypeHeaderValue("application/json"));
        }
    }
}

Pastikan sama seperti keterangan di gambar.

32. Sehingga seperti gambar dibawah. setelah itu klik F5 atau tanda segitiga hijau Google chrome (atau browser anda) seperti di gambar.


33. Sabarlah menunggu. kalau bosan silahkan refresh halaman.


34. Klik API


35. Cari catalogAPI. jika nama API anda test maka menjadi testAPI setelah itu copi dan pastekan di url seperti di gambar.


36. Jika database anda tidak memiliki record ataupun data makan akan seperti di bawah.


37. Input data di database anda terlebih dahulu.


38. Klik Kanan edit top 200 Rows.


39. Ketikkan isinya.


40.  Isi database anda.


41. Ketika database yang anda isikan seperti ini, maka bermasalah di relasi anda. seperti type_id kunci cadangan, tetapi di tidak terdaftar di kunci utama (primary) di table type sehingga akan muncul error seperti ini. maka solusinya anda harus mengisi kunci utamanya terlebih dahulu dan kunci cadangannya bisa di kosongkan terlebih dahulu. Masukkan semua data didatabase anda dengan mengulan cara tersebut.


42. Jika sudah di isi semua refresh halaman sebelumnya. jika masih tidak bisa close browser dan jalankan ulang. Di sini anda akan muncul error seperti di bawah karena memiliki relasi. Jika database anda tidak memiliki relasi makan akan langsung menampilkan data. Error ini terjadi karena setiap table mengalami tabrakkan ijin sehingga kunci cadangan dapat mengakses kunci utama.


43. Solusinya anda menambahkan new item


44. tambahkan class. Saya memberi nama class productExtended karena product adalah nama table yang akan saya beri ijin akses dan semua kunci cadangan yang terhubung dengan product tidak diberi ijin.


45. Tambahkan terlebih dahulu seperti yang di gambar.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    [MetadataType(typeof(productMetadata))]
    public partial class product
    {
        internal class productMetadata
        {
         
        }
    }
}


 46. Setalah itu Buka file product di database anda.


47. Di barisan paling bawah setelah space yang cukup besar adalah kunci cadangan dari table anda. Kemudian copy semua.


48. Pastekan diantara
internal class productMetadata
        {
       
        }
dan setiap atas baris diberi [JsonIgnore] untuk tidak di beri akses mengambil data dari product.


49. Setelah itu coba RUN lagi.


50. Seperti yang sebelumnya.


51. Setelah berhasil akan muncul data seperti dibawah.


Thanks