public void GravaProc(TableDefs Tabs, StringBuilder Out, Boolean soPoco) { Out.ApLine(); Out.Append(" // Proc ") .ApLine(Name); Out.Append(" public class ") .Append(NomeClass) .ApLine(" : DBProc"); Out.ApLine(" {"); foreach (ColDef Coluna in Cols) { Coluna.GravaDeclField(Out); } // Grava um constructor default com que constroi todas as colunas Out.ApLine(); Out.ApLine(" // Constructor"); Out.Append(" public ") .Append(NomeClass) .ApLine("(DBConnection Conn)"); Out.ApLine(" : base(Conn)"); Out.ApLine(" {"); foreach (ColDef Coluna in Cols) { Coluna.GravaInicField(Out); } Out.ApLine(); Out.ApLine(" Command.CommandType = CommandType.StoredProcedure;"); Out.Append(" Command.CommandText = \"") .Append(Name) .ApLine("\";"); Out.ApLine(" }"); /* Constructors a partir de tabelas ? * Só se tiver na mesma posição para evitar confusão.... * Disconsidera o DtInclusao DateTime e campos tipo TimeStamp */ foreach (TableDef Tab in Tabs) { if (Tab != this && Tab.Type == "U") // Somente Tabelas { Int32 CH = CamposIguais(Tab.ColsSemTSSemDtInclusao); if (CH > 0) { GravaConstructorHerdProc(Out, Tab, CH, soPoco); } } } Out.ApLine(" }"); }
protected void Page_Load(object sender, EventArgs e) { List <String> Objetos = (List <String>)Session["Objetos"]; String ConnStr = (String)Session["ConnString"]; SoPoco = (Boolean)Session["SoPoco"]; SqlConnection DBConn = new SqlConnection(ConnStr); DBConn.Open(); Tabs = new TableDefs(DBConn, Objetos); }
public void VerifTabHerd(TableDefs Tabs) { foreach (TableDef Tab in Tabs) { if (Tab != this && Tab.Type == "U") { // Views só podem ser herdados se todos os campos estã no view // e na mesma posição ! Int32 CH = CamposIguais(Tab.Cols); if (CH == Tab.Cols.Count && CH > m_CamposHerd) { m_TabHerd = Tab; m_CamposHerd = CH; } } } }
protected void Page_Load(object sender, EventArgs e) { List <String> Objetos = (List <String>)Session["Objetos"]; String ConnStr = (String)Session["ConnString"]; SqlConnection DBConn = new SqlConnection(ConnStr); DBConn.Open(); var Tabs = new TableDefs(DBConn, Objetos); var m_SB = new StringBuilder(); if (Tabs.Count > 0) { Tabs[0].GeraProcSql(m_SB); } litSP.Text = m_SB.ToString(); }
protected void Page_Load(object sender, EventArgs e) { List <String> Objetos = (List <String>)Session["Objetos"]; String ConnStr = (String)Session["ConnString"]; SqlConnection DBConn = new SqlConnection(ConnStr); DBConn.Open(); var Tabs = new TableDefs(DBConn, Objetos); var m_SB = new StringBuilder(); foreach (var Tab in Tabs) { if (Tab.Type == "U") { // public DbSet<tb_ModelosFormulario> tb_ModelosFormulario { get; set; } m_SB.Append(" "); // EF não suporta views ! // Views herdados de tabela são um truque..... if (Tab.Type == "V" && Tab.TabHerd == null) { m_SB.Append("// "); } m_SB.Append("public DbSet<r") .Append(Tab.Name) .Append("> ") .Append(Tab.Name) .ApLine(" { get; set; } "); } } litSP.Text = m_SB.ToString(); }