我的 SQL Server 数据库中有一个 date_creation_user
列,类型为 date
。
我使用 Entity Framework (数据库优先)所以在 User
模型类中我有:
public System.DateTime date_creation_user { get; set; }
我使用 POST 和 GET 方法创建了我的 Web API。
对于 POST,我输入数据:
{
//
"Date_creation_user": "2019-04-12"
}
使用 Get,结果是:
{
"Client_ID": 1,
"Date_creation_user": "2012-02-24T00:00:00",
}
我想获得一个清晰的 DATE 格式,因为我需要一个 GET 方法,以获取所有用户的创建日期,我该如何实现该方法?
这是我的两个 GET 方法和我的 POST 方法:
获取全部:
[HttpGet]
//[Authorize]
public async Task<HttpResponseMessage> Get()
{
List<ClientModel> model = new List<ClientModel>();
try
{
clService.GetClients().ToList().ForEach(a =>
{
ClientModel compts = new ClientModel
{
Client_ID = a.Client_ID,
Type_Client = a.Type_Client,
Date_creation_user = a.Date_creation_client
};
model.Add(compts);
});
return Request.CreateResponse(HttpStatusCode.OK, model);
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.BadRequest, ex);
}
}
获取ID:
[HttpGet]
public HttpResponseMessage find(int id)
{
try
{
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent(JsonConvert.SerializeObject(clService.GetClient(id)));
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return result;
}
catch
{
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
}
发布:
[HttpPost]
public HttpResponseMessage CreateClient(CLIENT Client)
{
try
{
var result = clService.AjoutClient(Client);
return Request.CreateResponse(HttpStatusCode.Created, result);
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
如何实现带日期参数的 GET 方法?
谢谢
最佳答案
改变这一行:
Date_creation_user = a.Date_creation_client.ToString("yyyy-MM-dd")
关于c# - SQL Server 中的日期列到 ASP.NET 模型中的 System.DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675377/