Zac*_*ach 2 c# asp.net-web-api
我使用此文档在 ASP.NET WEB API 中创建了一个 oData。ASP.NET Web API 中的 OData。我的 EF 在另一个项目上,所以我只是添加了对我的 WEB API 项目的引用。创建我的端点后。
public class ItemController : ODataController
{
SAP_PORTALEntities db = new SAP_PORTALEntities();
private bool ItemExists(string key)
{
return db.sap_item.Any(s => s.ItemCode == key);
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
[EnableQuery]
public IQueryable<Item> Get()
{
return db.sap_item;
}
[EnableQuery]
public SingleResult<sap_item> Get([FromODataUri] string key)
{
var item = db.sap_item.Where(s => s.ItemCode == key);
IQueryable<sap_item> itemModel;
itemModel = item;
return SingleResult.Create(itemModel);
}
public async Task<IHttpActionResult> Post(sap_item item)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.sap_item.Add(item);
await db.SaveChangesAsync();
return Created(item);
}
}
Run Code Online (Sandbox Code Playgroud)
在这一行出现错误:IQueryable Get()
Cannot implicitly convert type 'System.Data.Entity.DbSet<sap_dataaccess.sap_item>' to 'System.Linq.IQueryable<sap_portal.Models.Item>'. An explicit conversion exists
Run Code Online (Sandbox Code Playgroud)
虽然项目是我的模型。
public class Item
{
public string ItemCode { get; set; }
public string Dscription { get; set; }
public string ItemGroup { get; set; }
public string InvItem { get; set; }
public string PurItem { get; set; }
public string SalItem { get; set; }
public string UOMGroup { get; set; }
public string Manufacturer { get; set; }
public string Active { get; set; }
public string PurUOM { get; set; }
public Nullable<decimal> QtyPurUOM { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用 linqAsQueryable否则您只会返回DbSet<sap_dataaccess.sap_item>将转换类型失败的内容。
[EnableQuery]
public IQueryable<Item> Get()
{
return db.sap_item.AsQueryable();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2658 次 |
| 最近记录: |