Asp.net web api ASP.NETWebAPI只使用一个标识列发布到表
我有一个带有单个标识列的表,在这里我需要发送POST请求并能够检索生成的标识值 我的代码如下:Asp.net web api ASP.NETWebAPI只使用一个标识列发布到表,asp.net-web-api,identity-column,Asp.net Web Api,Identity Column,我有一个带有单个标识列的表,在这里我需要发送POST请求并能够检索生成的标识值 我的代码如下: // POST: api/XXXX [ResponseType(typeof(MyFileDTO))] public IHttpActionResult PostMyFile(MyFile myFile) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.MyFile.Ad
// POST: api/XXXX
[ResponseType(typeof(MyFileDTO))]
public IHttpActionResult PostMyFile(MyFile myFile)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.MyFile.Add(myFile);
db.SaveChanges();
var dto = new MyFileDTO()
{
FileId = myFile.FileId
};
return CreatedAtRoute("DefaultApi", new { id = myFile.FileId }, dto);
}
// POST: api/XXXX
[ResponseType(typeof(MyFileDTO))]
public IHttpActionResult PostMyFile(MyFile myFile)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.MyFile.Add(myFile);
db.SaveChanges();
// Get the highest myFile value.
long maxMyFileId = db.MyFile.Max(p => p.MyFileId)
var dto = new MyFileDTO()
{
FileId = maxMyFileId
};
return Ok(Dto);
}
我正努力通过邮递员来测试这封邮件
那么,是否有一种正确的方法来创建类似于上述情况的POST api调用,其中唯一的列是一个标识
谢谢
**更新其他信息:**
我在线路上遇到一个错误:
db.MyFile.Add(myFile);
db.SaveChanges();
这里说值不能为null,但我不太确定需要在这里添加什么值,因为这是一个标识列…找到了一种解决方法 代码大致如下所示:
// POST: api/XXXX
[ResponseType(typeof(MyFileDTO))]
public IHttpActionResult PostMyFile(MyFile myFile)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.MyFile.Add(myFile);
db.SaveChanges();
var dto = new MyFileDTO()
{
FileId = myFile.FileId
};
return CreatedAtRoute("DefaultApi", new { id = myFile.FileId }, dto);
}
// POST: api/XXXX
[ResponseType(typeof(MyFileDTO))]
public IHttpActionResult PostMyFile(MyFile myFile)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.MyFile.Add(myFile);
db.SaveChanges();
// Get the highest myFile value.
long maxMyFileId = db.MyFile.Max(p => p.MyFileId)
var dto = new MyFileDTO()
{
FileId = maxMyFileId
};
return Ok(Dto);
}
不确定这是否是正确的方法,但现在,它似乎解决了我获取列值的问题
如果有其他答案,我们将不胜感激