Saya memiliki entitas sederhana: Kontak
Baris DBContext:
public DbSet<Contact> Contacts { get; set; }
Pengontrol API:
[HttpGet]
public IQueryable<Contact> Contacts()
{
return _contextProvider.Context.Contacts;
}
Dalam pengambilan data saya di klien angin saya melakukan ini:
var query = EntityQuery.from("Contacts")
.orderBy(orderBy.obContact)
Itu berfungsi dengan baik, dan saya dapat memahami bahwa parameter dari "Kontak" harus cocok dengan metode tindakan API.
Di getByID saya, saya melakukan ini:
return manager.fetchEntityByKey("Contact", contactId, true)
Itu berfungsi dengan baik, dan itu juga membuat panggilan ke metode API "Kontak". Tapi saya ingin tahu bagaimana mudahnya mengambil parameter "Kontak" dan mengetahui cara memanggil metode "Kontak".
Apakah ini ada dalam metadata?
Apakah itu berasal dari baris DBSet saya di dbcontext saya? (Saya kira memang demikian, tetapi ingin konfirmasi). Kalau begitu maka kedua nama ini pasti sama kan?
[HttpGet]
public IQueryable<Contact>Contacts() // The HTTP action method name
public DbSet<Contact> Contacts { get; set; } // The DbSet variable
Saya mencoba perubahan ini:
public DbSet<Contact> DBSetContacts { get; set; }
Dan
[HttpGet]
public IQueryable<Contact> Contacts()
{
return _contextProvider.Context.DBSetContacts;
}
Permintaan pertama saya di atas yang mengembalikan array berjalan dengan baik. Pengambilan saya berdasarkan ID gagal, ia mencoba menemukan sumber daya URI "DBSetContacts".
Kesimpulan saya adalah variabel DbSet harus memiliki nama yang sama dengan metode URI agar FetchByID dapat berfungsi. Apakah itu benar?