예제 #1
0
        public override Property Parse(ClassInfo clazz, XElement element)
        {
            var prop        = base.Parse(clazz, element);
            var compositeId = new CompositeId(clazz, prop.Name);

            compositeId.AddAttributes(prop);
            compositeId.Remove("class");

            element.Elements().Where(x => x.Name.LocalName == "key-many-to-one").ToList()
            .ForEach(key => compositeId.ManyToOneKeys.Add(base.Parse(clazz, key)));

            element.Elements().Where(x => x.Name.LocalName == "key-property").ToList()
            .ForEach(key => compositeId.PropertyKeys.Add(ParseKeyProperty(clazz, key)));

            return(compositeId);
        }
예제 #2
0
            /// <inheritdoc />
            public object ToDatabaseValue(object modelObject)
            {
                CompositeId id = (CompositeId)modelObject;

                return($"{id.Fragment1}.{id.Fragment2}");
            }