Eu juro que estou perdendo as esperanças com o EF …kkkk
Estou com dificuldade em vencer o problema acima mencionado.
Basicamente tenho a seguinte estrutura:
Banco Monitorado:
namespace Models.Cadastros
{
[Table("BancoMonitorados")]
public class BancoMonitorado
{
[Required]
public int Id { get; set; }
[Required]
public string Banco { get; set; }
[Required]
public string Descricao { get; set; }
[Required]
public string ConnectionString { get; set; }
public virtual ICollection<TabelaMonitorada> TabelaMonitorada { get; set; }
}
}
Cadastro de Tabelas
namespace Models.Cadastros
{
public class TabelaMonitorada
{
public int Id { get; set; }
[Required]
public string Tabela { get; set; }
public bool Ativado { get; set; }
[Required]
[MinLength(10,ErrorMessage ="Tamanho mínimo para a descrição é de 10 caracteres.")]
public string Descricao { get; set; }
[Required]
public virtual BancoMonitorado BancoMonitorado { get; set; }
}
}
Controller:
namespace Inhuman.Controllers.Cadastros
{
public class CadTabelasController : Controller
{
private TabelaMonitoradaDAO tabelaDAO;
private BancoMonitoradoDAO bancoDAO;
public CadTabelasController(TabelaMonitoradaDAO t, BancoMonitoradoDAO b)
{
this.tabelaDAO = t;
this.bancoDAO = b;
}
[ValidateAntiForgeryToken]
[HttpPost]
public ActionResult Incluir(TabelaMonitoradaModelView t)
{
if (ModelState.IsValid)
{
TabelaMonitorada tabela = TabelaMonitoradaFactory.BuildModel(t);
tabelaDAO.Add(tabela);
return RedirectToAction("Index");
}
//Faz algo legal aqui =D
return View("Incluir", t);
}
}
}
Minha DAL:
namespace DAL.Cadastros
{
public class TabelaMonitoradaDAO
{
private InhumanContex contexto;
public TabelaMonitoradaDAO(InhumanContex c)
{
this.contexto = c;
}
public void Add(TabelaMonitorada tabela)
{
contexto.TabelaMonitorada.Add(tabela);
contexto.SaveChanges();
}
}
}
Classe que responde pela minha Context
using Models.Cadastros;
using Models.Monitoria;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.Entity;
using System.Reflection;
using System.Text;
namespace ContextsBind
{
/// <summary>
/// Cria os contextos de conexão com o banco de dados
/// baseando-se em uma connection string do web.config
/// </summary>
/// <seealso cref="System.Data.Entity.DbContext" />
public class InhumanContex : DbContext
{
/// <summary>
/// Initializes a new instance of the <see cref="InhumanContex"/> class.
/// </summary>
public InhumanContex() : base(getConnectionString()) { }
public DbSet<TabelaMonitorada> TabelaMonitorada { get; set; }
public DbSet<BancoMonitorado> BancosDeDadosMonitorados { get; set; }
public DbSet<GenericAudit> GenericAudit { get; set; }
/// <summary>
/// Gets the connection string.
/// </summary>
/// <returns></returns>
public static string getConnectionString()
{
return ConfigurationManager.ConnectionStrings["Producao"].ConnectionString;
}
}
}
Quando realizo a chamada SaveChanges(), obtenho retorno mencionado… Já procurei em tudo que é lugar, alguém tem alguma ideia de como resolver isso? Tks .