Пример #1
0
        private string WriteDbContext(FileSystemInfo directory, ProjectWriter projectWriter)
        {
            var writer = new CodeFirstContextWriter(_codeWriterSettings);

            if (ProviderToSqlType.Convert(_schema.Provider) == SqlType.Oracle)
            {
                writer.IsOracle = true;
                projectWriter.AddDevartOracleReference();
            }
            var databaseTables = _schema.Tables.Where(t => !FilterIneligible(t))
                                 .ToList();

            if (_codeWriterSettings.IncludeViews)
            {
                databaseTables.AddRange(_schema.Views.OfType <DatabaseTable>());
            }
            var txt      = writer.Write(databaseTables);
            var fileName = writer.ContextName + ".cs";

            File.WriteAllText(
                Path.Combine(directory.FullName, fileName),
                txt);
            projectWriter.AddClass(fileName);
            return(writer.ContextName);
        }
Пример #2
0
        private void WriteStoredProcedure(string procedures, string directoryPath, string @namespace, DatabaseStoredProcedure sproc, ProjectWriter pw)
        {
            //if no .net classname, don't process
            if (string.IsNullOrEmpty(sproc.NetName))
            {
                return;
            }

            var sw       = new SprocWriter(sproc, @namespace);
            var txt      = sw.Write();
            var fileName = sproc.NetName + ".cs";
            var path     = Path.Combine(directoryPath, fileName);

            File.WriteAllText(path, txt);
            pw.AddClass(procedures + @"\" + fileName);
            if (sw.RequiresOracleReference)
            {
                if (sw.RequiresDevartOracleReference)
                {
                    pw.AddDevartOracleReference();
                }
                else if (RequiresOracleManagedClient)
                {
                    pw.AddOracleManagedReference();
                }
                else
                {
                    pw.AddOracleReference();
                }
            }

            if (sw.HasResultClass)
            {
                var rs = new SprocResultWriter(sproc, @namespace);
                txt      = rs.Write();
                fileName = rs.ClassName + ".cs";
                path     = Path.Combine(directoryPath, fileName);
                File.WriteAllText(path, txt);
                pw.AddClass(procedures + @"\" + fileName);
            }
        }
Пример #3
0
 private string WriteDbContext(FileSystemInfo directory, ProjectWriter projectWriter)
 {
     var writer = new CodeFirstContextWriter(_codeWriterSettings);
     if (ProviderToSqlType.Convert(_schema.Provider) == SqlType.Oracle)
     {
         writer.IsOracle = true;
         projectWriter.AddDevartOracleReference();
     }
     var databaseTables = _schema.Tables.Where(t => !FilterIneligible(t))
         .ToList();
     if (_codeWriterSettings.IncludeViews)
     {
         databaseTables.AddRange(_schema.Views.OfType<DatabaseTable>());
     }
     var txt = writer.Write(databaseTables);
     var fileName = writer.ContextName + ".cs";
     File.WriteAllText(
         Path.Combine(directory.FullName, fileName),
         txt);
     projectWriter.AddClass(fileName);
     return writer.ContextName;
 }
Пример #4
0
        private static void WriteStoredProcedure(string procedures, string directoryPath, string @namespace, DatabaseStoredProcedure sproc, ProjectWriter pw)
        {
            //if no .net classname, don't process
            if (string.IsNullOrEmpty(sproc.NetName)) return;

            var sw = new SprocWriter(sproc, @namespace);
            var txt = sw.Write();
            var fileName = sproc.NetName + ".cs";
            var path = Path.Combine(directoryPath, fileName);
            File.WriteAllText(path, txt);
            pw.AddClass(procedures + @"\" + fileName);
            if (sw.RequiresOracleReference)
            {
                if (sw.RequiresDevartOracleReference)
                    pw.AddDevartOracleReference();
                else
                    pw.AddOracleReference();
            }

            if (sw.HasResultClass)
            {
                var rs = new SprocResultWriter(sproc, @namespace);
                txt = rs.Write();
                fileName = rs.ClassName + ".cs";
                path = Path.Combine(directoryPath, fileName);
                File.WriteAllText(path, txt);
                pw.AddClass(procedures + @"\" + fileName);
            }
        }