public void LongNamesTest()
        {
            var masterRoot = new MasterRoot {
                MasterAttr = 234
            };

            var мастерКласс01 = new МастерКлассДлинноеИмя {
                MasterAttr2 = true, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot
            };
            var мастерКласс02 = new МастерКлассДлинноеИмя {
                MasterAttr2 = false, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot
            };
            var мастерКласс2 = new МастерКлассДлинноеИмя2 {
                MasterAttr2 = true, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot
            };
            var класс = new ДочернийКлассДлинноеИмя {
                MasterClass = мастерКласс01, МастерКлассДлинноеИмя01 = мастерКласс01, МастерКлассДлинноеИмя02 = мастерКласс2, Attr1 = "123", Attr2 = 55, Атрибут3 = true
            };

            ////var класс2 = new ДочернийКлассДлинноеИмя2 { MasterClass = мастерКласс, МастерКлассДлинноеИмя = мастерКласс, МастерКлассДлинноеИмя2 = мастерКласс2, Attr1 = "abc", Attr2 = 55, Атрибут3 = true };

            var objsToUpdate = new DataObject[] { мастерКласс01, класс, мастерКласс02, masterRoot };

            DataService.UpdateObjects(ref objsToUpdate, new DataObjectCache(), true);

            var languageDef = SQLWhereLanguageDef.LanguageDef;
            var lcs         = LoadingCustomizationStruct.GetSimpleStruct(typeof(ДочернийКлассДлинноеИмя), ДочернийКлассДлинноеИмя.Views.TestView1);

            lcs.LimitFunction = languageDef.GetFunction(languageDef.funcEQ, new VariableDef(languageDef.GuidType, "МастерКлассДлинноеИмя01"), new Guid(мастерКласс01.__PrimaryKey.ToString()));
            var classes = DataService.LoadObjects(new[] { lcs });

            var clazz2 = new ДочернийКлассДлинноеИмя {
                __PrimaryKey = класс.__PrimaryKey
            };

            DataService.LoadObject(clazz2);
        }
        public void InheritanceTest()
        {
            var masterRoot = new MasterRoot {
                MasterAttr = 234
            };
            var master = new MasterClass {
                MasterAttr2 = true, MasterAttr1 = DateTime.Now, MasterRoot = masterRoot
            };
            var clazz = new MyClass {
                MasterClass = master, Attr1 = "abc", Attr2 = 1
            };
            var derived = new Класс {
                MasterClass = master, Attr1 = "123", Attr2 = 55, Атрибут3 = true
            };
            var detail1 = new DetailClass {
                MyClass = clazz, DetailAttr = "def1"
            };
            var detail2 = new DetailClass {
                MyClass = clazz, DetailAttr = "def2"
            };
            var detailChild = new DetailClass2 {
                DetailClass = detail2, DetailAttr2 = "cbd"
            };
            var objsToUpdate = new DataObject[] { master, clazz, detail1, detail2, derived, masterRoot, detailChild };

            DataService.UpdateObjects(ref objsToUpdate, new DataObjectCache(), true);
            try
            {
                DataService.LoadObject(new MasterRoot {
                    __PrimaryKey = masterRoot.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new MasterClass {
                    __PrimaryKey = master.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new MyClass {
                    __PrimaryKey = clazz.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new Класс {
                    __PrimaryKey = derived.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new DetailClass {
                    __PrimaryKey = detail1.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new DetailClass {
                    __PrimaryKey = detail2.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }

            try
            {
                DataService.LoadObject(new DetailClass2 {
                    __PrimaryKey = detailChild.__PrimaryKey
                });
            }
            catch (CantFindDataObjectException)
            {
                Assert.True(false, "Object not saved.");
            }
        }