public void CustomizationEdmModelCreateTest()
        {
            ActODataService(args =>
            {
                var наследник = new Наследник()
                {
                    Свойство = 1234.5, Свойство1 = "str", Свойство2 = 22
                };
                var детейл = new Детейл()
                {
                    prop1 = 1
                };
                var детейл2 = new Детейл2()
                {
                    prop2 = "str2"
                };
                var мастер = new Мастер()
                {
                    prop = "str3"
                };
                var мастер2 = new Мастер2()
                {
                    свойство2 = -1
                };
                var master = new Master()
                {
                    property = "str4"
                };
                наследник.Master = master;
                наследник.Мастер = мастер;
                мастер.Мастер2   = мастер2;
                наследник.Детейл.Add(детейл);
                детейл.Детейл2.Add(детейл2);

                ExternalLangDef.LanguageDef.DataService = args.DataService;

                // ------------------ Только создания объектов ------------------
                // Подготовка тестовых данных в формате OData.
                var controller = new Controllers.DataObjectController(args.DataService, args.Token.Model, args.Token.Events, args.Token.Functions);
                System.Web.OData.EdmEntityObject edmObj = controller.GetEdmObject(args.Token.Model.GetEdmEntityType(typeof(Наследник)), наследник, 1, null);
                var edm_master  = controller.GetEdmObject(args.Token.Model.GetEdmEntityType(typeof(Master)), master, 1, null);
                var edm_мастер  = controller.GetEdmObject(args.Token.Model.GetEdmEntityType(typeof(Мастер)), мастер, 1, null);
                var edm_мастер2 = controller.GetEdmObject(args.Token.Model.GetEdmEntityType(typeof(Мастер2)), мастер2, 1, null);
                edmObj.TrySetPropertyValue("MasterAlias", edm_мастер);
                edmObj.TrySetPropertyValue("Master", edm_master);
                edm_мастер.TrySetPropertyValue("Master2Alias", edm_мастер2);
                var coll = controller.GetEdmCollection(наследник.Детейл, typeof(Детейл), 1, null);
                edmObj.TrySetPropertyValue("DetailAlias", coll);
                System.Web.OData.EdmEntityObject edmДетейл = (System.Web.OData.EdmEntityObject)coll[0];

                // Формируем URL запроса к OData-сервису.
                string requestUrl = string.Format("http://localhost/odata/{0}", args.Token.Model.GetEdmEntitySet(typeof(Наследник)).Name);

                // Обращаемся к OData-сервису и обрабатываем ответ, в теле запроса передаем создаваемый объект в формате JSON.
                HttpResponseMessage response = args.HttpClient.PostAsJsonAsync(requestUrl, edmObj).Result;

                // Убедимся, что запрос завершился успешно.
                Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            });
        }
        public void CustomizationEdmModelReadTest()
        {
            ActODataService(args =>
            {
                var наследник = new Наследник()
                {
                    Свойство = 1234.5, Свойство1 = "str", Свойство2 = 22
                };
                var детейл = new Детейл()
                {
                    prop1 = 1
                };
                var детейл2 = new Детейл2()
                {
                    prop2 = "str2"
                };
                var мастер = new Мастер()
                {
                    prop = "str3"
                };
                var мастер2 = new Мастер2()
                {
                    свойство2 = -1
                };
                var master = new Master()
                {
                    property = "str4"
                };
                наследник.Master = master;
                наследник.Мастер = мастер;
                мастер.Мастер2   = мастер2;
                наследник.Детейл.Add(детейл);
                детейл.Детейл2.Add(детейл2);

                var objs = new DataObject[] { наследник };
                args.DataService.UpdateObjects(ref objs);
            });
        }