はい、可能です。
通常どおり、EDMX に対してコントローラーを記述します。私たちにとって、それは次のようなものに変換されます。
public class PersonalizationController : MultiTenantBreezeController<PersonalizationEntities>
PersonalizationEntities は ObjectContext です。
次に、サーバー上で SaveChanges を定義するだけです (オーバーライドは気にしないでください。基本クラスがあります)。
[HttpPost]
public override SaveResult SaveChanges(JObject saveBundle)
{
// Deserialize the object that needs to get saved (ApplicationDefaults is my DTO)
var applicationDefaultsList = JsonConvert.DeserializeObject<List<ApplicationDefaults>>(saveBundle.SelectToken("entities").ToString());
// Do whatever logic you need to save the data
using (var repo = ServiceLocator.Current.Container.Resolve<IUserPreferenceRepository>())
{
// Your save logic here
}
// Construct the save result to inform the client that the server has completed the save operation
var keyMappings = new List<KeyMapping>();
return new SaveResult()
{
Entities = applicationDefaultsList.Cast<object>().ToList(),
Errors = null,
KeyMappings = keyMappings
};
}