コード例 #1
0
ファイル: Program.cs プロジェクト: CarefreeXT/Mego_Samples
        static void AnonymousExportData()
        {
            var filename = Guid.NewGuid().ToString() + ".xlsx";

            System.IO.File.WriteAllBytes(filename, Properties.Resources.Empty);
            Random r     = new Random();
            var    items = Enumerable.Range(0, 1000).Select(i => new
            {
                Id       = i,
                Name     = "Product " + i.ToString(),
                Category = r.Next(1, 10),
                IsValid  = true
            }).ToArray();

            using (var context = new ExcelContext(filename))
            {
                var item    = items[0];
                var operate = context.Database.Manager.CreateTable(item.GetType(),
                                                                   DbName.NameOnly("Sheet1$"));
                context.Executor.Execute(operate);

                context.Set(item, "[Sheet1$]").AddRange(items);
                context.Executor.Execute();
            }
        }
コード例 #2
0
        //创建名称。
        private static DbName CreateName(DbContext context, TableMetadata principal, TableMetadata foreign, ForeignPrincipalPair[] pairs)
        {
            var foreignName = $"FK_{foreign.Name}_{principal.Name}_{string.Join("_", pairs.Select(a => a.ForeignKey.Name).ToArray())}_{string.Join("_", pairs.Select(a => a.PrincipalKey.Name).ToArray())}";
            var maxlength   = context.Configuration.DatabaseFeature.MaxIdentifierLength;

            if (maxlength.HasValue && foreignName.Length > maxlength.Value)
            {
                foreignName = foreignName.Substring(0, maxlength.Value);
            }
            return(DbName.NameOnly(foreignName));
        }