DataverseModel Sınıf
Ve'ye records.create()records.update()geçirilecek türlenmiş varlık örneklerini etkinleştiren Yapısal Protokol.
Tablo adını belirtmeden veya el ile dikteye dönüştürmeden crud işlemlerine doğrudan geçirilmesini sağlamak için bu Protokolü herhangi bir varlık sınıfına (dataclass, Pydantic model, hand-rolled) uygulayın.
Gerekli sınıf değişkenleri:
__entity_logical_name__— Dataverse mantıksal varlık adı (örn."account")__entity_set_name__— OData varlık kümesi adı (örn."accounts")
Gerekli örnek yöntemleri:
to_dict()— kayıt yükünü farklı döndürdictfrom_dict(data)— bir yanıttan yeniden oluşturmak için classmethoddict
Example:
from dataclasses import dataclass
from PowerPlatform.Dataverse import DataverseModel
@dataclass
class Account:
__entity_logical_name__ = "account"
__entity_set_name__ = "accounts"
name: str = ""
telephone1: str = ""
def to_dict(self) -> dict:
return {"name": self.name, "telephone1": self.telephone1}
@classmethod
def from_dict(cls, data: dict) -> "Account":
return cls(
name=data.get("name", ""),
telephone1=data.get("telephone1", ""),
)
# isinstance() works today — Protocol is runtime_checkable:
assert isinstance(Account(), DataverseModel)
# Type your own helpers against the Protocol now:
def save(entity: DataverseModel) -> None:
data = entity.to_dict()
client.records.create(entity.__entity_logical_name__, data)
Note
Tablo adı olmadan doğrudan gönderim (client.records.create(entity)
veya dict) henüz desteklenmemektedir ve gelecekteki bir sürüme eklenecektir.
Oluşturucu
DataverseModel(*args, **kwargs)
Yöntemler
| from_dict |
Yanıt sözlüğünden bir örneği yeniden oluşturun. |
| to_dict |
Kayıt yükünü düz sözlük olarak döndürür. |
from_dict
Yanıt sözlüğünden bir örneği yeniden oluşturun.
from_dict(data: dict) -> DataverseModel
Parametreler
| Name | Description |
|---|---|
|
data
Gerekli
|
|
to_dict
Kayıt yükünü düz sözlük olarak döndürür.
to_dict() -> dict