Exemplo n.º 1
0
        public override void Initialize(ProjectMetadata project)
        {
            base.Initialize(project);
            if (Entitys.Values.Any(a => a.Definition.CubeType == Model.Definitions.Entities.EEntityCubeType.Fact))
            {
                return;
            }
            HashSet <PropertyNavigationData> readyPropertys = new HashSet <PropertyNavigationData>();

            foreach (var entity in this.Entitys.Values)
            {
                foreach (var pro in entity.NavigationPropertys.Values.Where(a => a.IsInherit == false))
                {
                    readyPropertys.Add(pro);
                }
            }
            while (readyPropertys.Count > 0)
            {
                var navi = readyPropertys.First();
                var item = new RelationDataItem(navi);

                readyPropertys.Remove(item.FromNavigate);
                if (item.ToNavigate != null)
                {
                    readyPropertys.Remove(item.ToNavigate);
                }

                this.Relations.Add(item);
            }
        }
Exemplo n.º 2
0
 private string GetCascadeOnDelete(RelationDataItem item)
 {
     if (item.AllowCascadeOnDelete)
     {
         return($".WillCascadeOnDelete({item.CascadeOnDelete.ToString().ToLower()})");
     }
     return("");
 }
Exemplo n.º 3
0
 public string GetForeignKey(RelationDataItem item)
 {
     if (item.AllownForeignKey)
     {
         return($".HasForeignKey(a => a.{item.ForeignKeyName})");
     }
     return("");
 }
Exemplo n.º 4
0
 private string GetWithProperty(RelationDataItem item)
 {
     if (item.ToNavigate != null)
     {
         return($"a => a.{item.ToNavigate.Name}");
     }
     return("");
 }
Exemplo n.º 5
0
        private string GetHasName(RelationDataItem item)
        {
            switch (item.FromNavigate.Member.ToCardinality)
            {
            case EMappingCardinality.ZeroOrOne:
                return("Optional");

            case EMappingCardinality.One:
                return("Required");

            case EMappingCardinality.Many:
                return("Many");
            }
            return("");
        }
Exemplo n.º 6
0
        private string GetWithName(RelationDataItem item)
        {
            string result = "";
            var    member = item.FromNavigate.Member;

            switch (member.Cardinality)
            {
            case EMappingCardinality.ZeroOrOne:
                result = "Optional";
                break;

            case EMappingCardinality.One:
                result = "Required";
                break;

            case EMappingCardinality.Many:
                result = "Many";
                break;
            }
            if (member.Cardinality != EMappingCardinality.Many && member.ToCardinality != EMappingCardinality.Many)
            {
                if (member.Cardinality == member.ToCardinality)
                {
                    if (item.ToNavigate != null && item.ToNavigate.Member.IsMain)
                    {
                        result += "Dependent";
                    }
                    else
                    {
                        result += "Principal";
                    }
                }
            }

            return(result);
        }
Exemplo n.º 7
0
 private string GetHasProperty(RelationDataItem item)
 {
     return($"a => a.{item.FromNavigate.Name}");
 }