내 프로젝트 .NET에서 EF 4 (모델 첫 번째)를 사용 중이며 DateTime
필드에 어려움을 겪고 있습니다. I는 SaveChanges()
사용할 것이다 때DateTime2가 나를 미치게합니다.
이 예외가 발생된다
System.Data.SqlClient.SqlException을 : 날짜 시간 데이터 유형에 DATETIME2 데이터 형식의 변환이 범위를 벗어난 결과 값. 새로운
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) 모델을 게시 할 수 있습니까/ –
다른 비 - 귀하의 엔터티에 nullable 'DateTime' 필드가 있습니까? 그렇다면 EF가 해당 칼럼에 1/1/0001을 보내고 있기 때문에 문제의 원인이됩니다. 또한 SQL 프로파일 러를 사용하여 EF가 데이터베이스에 저장하려고하는 값을 확인할 수 있습니다. –