0
我在我的項目.NET中使用EF 4(model first),我在DateTime
字段中遇到了麻煩。DateTime2讓我瘋狂
當我將使用SaveChanges()
此拋出異常:
System.Data.SqlClient.SqlException:一個DATETIME2數據類型爲datetime數據類型的轉換導致的外的範圍值。
我試着使用:
System.Globalization.CultureInfo enGB = new System.Globalization.CultureInfo("en-GB");
,但沒有新的情況發生。如果我今晚沒有修好它,我會爆炸我的電腦。
我需要幫助,我不希望發生爆炸我的電腦=(1周試圖解決它沒有成功
這裏是我的代碼:
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);
}
我知道,有這樣的這麼多問題在這裏,但他們沒有解決我的問題
我想在文本框中插入日期是這樣的:09/08/2012
嘗試[這篇文章](http://stackoverflow.com/questions/4259716/datetime2-conversion-in-ef4)如果沒有幫助你,你可以發佈你的模型/ – 2012-08-09 20:51:32
是否有任何其他非 - 您實體中的可爲空的'DateTime'字段?如果是的話,這是您的問題的來源,因爲EF正在向該列發送1/1/0001。您還可以使用SQL分析器來檢查EF試圖保存到數據庫的值。 – 2012-08-09 21:35:38