I'm using EF 4 (model First) in my project .NET and I having hard troubles with the DateTime
fields.
When I'll use SaveChanges()
this exception is thrown:
System.Data.SqlClient.SqlException : The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
I tried to use:
System.Globalization.CultureInfo enGB = new System.Globalization.CultureInfo("en-GB");
but nothing new happens. I'll explode my computer if I don't fix it this night.
I need help, I don't want explode my computer =( 1 week trying solve it without success
Here is my code:
protected void btnSave_Click(object sender, EventArgs e)
{
int id = Convert.ToInt32(Request.QueryString["id"]);
ModeloContainer ctx = new ModeloContainer();
Cliente cli = ctx.Cliente.Where( cl => cl.IdCliente == id).First();
Contrato c = new Contrato();
c.Descricao = this.txtDescricao.Text;
c.FaturarPara = this.ddlFaturarPara.SelectedValue;
c.Tolerancia = Convert.ToInt32(this.txtSuspenderContratoEm.Text);
c.PeriodoPagto = this.ddlPeriodoPagamento.SelectedValue;
// DateTime dtExpiracao = this.txtExpiraEm.Text.Trim() == "" ? Convert.ToDateTime("01/01/0001") : Convert.ToDateTime(this.txtExpiraEm.Text.Trim());
DateTime dt = DateTime.Now;
System.Globalization.CultureInfo enGB = new System.Globalization.CultureInfo("en-GB");
dt = Convert.ToDateTime(dt, enGB);
c.ExpiraEm = dt; //Here is the problem! but I no have idea how fix it
ctx.AddToContrato(c);
ctx.SaveChanges();
this.SalvarServiços(c.IdContrato);
}
I know, there's so many questions like this here, but none of them solves my problem.
I want insert date like this in TextBox: 09/08/2012