// Сохранить результат в базе данных

        public bool Store(int k)
        {
            MyEntityContext ctx = Application.Context;

            PrepareClusters(k);

            ctx.ObjectClasss.ToList().ForEach(ctx.DeleteObject);
            ctx.SaveChanges();

            foreach (var cl in Cidx.Select((c, i) => new { c, i }))
            {
                IObjectClass c = ctx.ObjectClasss.Create();
                c.Cluster = cl.c;
                IObject ob = input[cl.i];
                c.Object = ob;
                Console.WriteLine("ob:" + ob.GUID + "->" + cl.c + "[" + cl.i + "]");
            }

            ctx.SaveChanges();

            ctx.ClassNames.ToList().ForEach(ctx.DeleteObject);

            for (int i = 0; i < k; i++) // Заготовки имен кластеров.
            {
                IClassName cn = ctx.ClassNames.Create();
                cn.Name    = i.ToString();
                cn.Cluster = i;
            }

            ctx.SaveChanges();

            return(true);
        }
示例#2
0
        public int CountObjects(IClassName o)
        {
            MyEntityContext ctx = Application.Context;

            Console.Write("Query for count:" + o.Cluster + "(" + o.Name + ") objs:");
            int num = ctx.ObjectClasss.Where(x => x.Cluster == o.Cluster).Count();

            Console.WriteLine(num);
            return(num);
        }